diff options
Diffstat (limited to 'llvm/lib/LTO/LTOModule.cpp')
-rw-r--r-- | llvm/lib/LTO/LTOModule.cpp | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/llvm/lib/LTO/LTOModule.cpp b/llvm/lib/LTO/LTOModule.cpp index f9d270d3207..76b5e197a62 100644 --- a/llvm/lib/LTO/LTOModule.cpp +++ b/llvm/lib/LTO/LTOModule.cpp @@ -65,7 +65,8 @@ bool LTOModule::isBitcodeFile(const char *path) { bool LTOModule::isBitcodeForTarget(MemoryBuffer *buffer, StringRef triplePrefix) { - std::string Triple = getBitcodeTargetTriple(buffer, getGlobalContext()); + std::string Triple = + getBitcodeTargetTriple(buffer->getMemBufferRef(), getGlobalContext()); return StringRef(Triple).startswith(triplePrefix); } @@ -112,14 +113,7 @@ LTOModule *LTOModule::createFromBuffer(const void *mem, size_t length, LTOModule *LTOModule::makeLTOModule(MemoryBufferRef Buffer, TargetOptions options, std::string &errMsg) { - StringRef Data = Buffer.getBuffer(); - StringRef FileName = Buffer.getBufferIdentifier(); - std::unique_ptr<MemoryBuffer> MemBuf( - makeBuffer(Data.begin(), Data.size(), FileName)); - if (!MemBuf) - return nullptr; - - ErrorOr<Module *> MOrErr = parseBitcodeFile(MemBuf.get(), getGlobalContext()); + ErrorOr<Module *> MOrErr = parseBitcodeFile(Buffer, getGlobalContext()); if (std::error_code EC = MOrErr.getError()) { errMsg = EC.message(); return nullptr; |