mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
Modify LTOModule::isTargetMatch to take a StringRef instead of a MemoryBuffer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212305 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
59349ad8ad
commit
5c58257d39
@ -202,8 +202,8 @@ private:
|
||||
/// Get string that the data pointer points to.
|
||||
bool objcClassNameFromExpression(const Constant *c, std::string &name);
|
||||
|
||||
/// Returns 'true' if the memory buffer is for the specified target triple.
|
||||
static bool isTargetMatch(MemoryBuffer *memBuffer, const char *triplePrefix);
|
||||
/// Returns 'true' if the bitcode BC is for the specified target triple.
|
||||
static bool isTargetMatch(StringRef BC, const char *TriplePrefix);
|
||||
|
||||
/// Create an LTOModule (private version). N.B. This method takes ownership of
|
||||
/// the buffer.
|
||||
|
@ -75,7 +75,7 @@ bool LTOModule::isBitcodeFileForTarget(const void *mem, size_t length,
|
||||
MemoryBuffer *buffer = makeBuffer(mem, length);
|
||||
if (!buffer)
|
||||
return false;
|
||||
return isTargetMatch(buffer, triplePrefix);
|
||||
return isTargetMatch(StringRef((const char *)mem, length), triplePrefix);
|
||||
}
|
||||
|
||||
bool LTOModule::isBitcodeFileForTarget(const char *path,
|
||||
@ -83,15 +83,15 @@ bool LTOModule::isBitcodeFileForTarget(const char *path,
|
||||
std::unique_ptr<MemoryBuffer> buffer;
|
||||
if (MemoryBuffer::getFile(path, buffer))
|
||||
return false;
|
||||
return isTargetMatch(buffer.release(), triplePrefix);
|
||||
return isTargetMatch(buffer->getBuffer(), triplePrefix);
|
||||
}
|
||||
|
||||
/// isTargetMatch - Returns 'true' if the memory buffer is for the specified
|
||||
/// target triple.
|
||||
bool LTOModule::isTargetMatch(MemoryBuffer *buffer, const char *triplePrefix) {
|
||||
std::string Triple = getBitcodeTargetTriple(buffer, getGlobalContext());
|
||||
delete buffer;
|
||||
return strncmp(Triple.c_str(), triplePrefix, strlen(triplePrefix)) == 0;
|
||||
/// Returns 'true' if the bitcode BC is for the specified target triple.
|
||||
bool LTOModule::isTargetMatch(StringRef BC, const char *TriplePrefix) {
|
||||
std::unique_ptr<MemoryBuffer> Buffer(
|
||||
MemoryBuffer::getMemBuffer(BC, "", false));
|
||||
std::string Triple = getBitcodeTargetTriple(Buffer.get(), getGlobalContext());
|
||||
return strncmp(Triple.c_str(), TriplePrefix, strlen(TriplePrefix)) == 0;
|
||||
}
|
||||
|
||||
LTOModule *LTOModule::createFromFile(const char *path, TargetOptions options,
|
||||
|
Loading…
Reference in New Issue
Block a user