diff options
Diffstat (limited to 'lib/LTO/LTOModule.cpp')
-rw-r--r-- | lib/LTO/LTOModule.cpp | 27 |
1 files changed, 7 insertions, 20 deletions
diff --git a/lib/LTO/LTOModule.cpp b/lib/LTO/LTOModule.cpp index 626d2f5dc813..20fc0943539f 100644 --- a/lib/LTO/LTOModule.cpp +++ b/lib/LTO/LTOModule.cpp @@ -14,9 +14,7 @@ #include "llvm/LTO/legacy/LTOModule.h" #include "llvm/ADT/Triple.h" -#include "llvm/Analysis/ObjectUtils.h" #include "llvm/Bitcode/BitcodeReader.h" -#include "llvm/CodeGen/TargetLoweringObjectFile.h" #include "llvm/CodeGen/TargetSubtargetInfo.h" #include "llvm/IR/Constants.h" #include "llvm/IR/LLVMContext.h" @@ -39,6 +37,7 @@ #include "llvm/Support/SourceMgr.h" #include "llvm/Support/TargetRegistry.h" #include "llvm/Support/TargetSelect.h" +#include "llvm/Target/TargetLoweringObjectFile.h" #include "llvm/Transforms/Utils/GlobalStatus.h" #include <system_error> using namespace llvm; @@ -57,11 +56,7 @@ LTOModule::~LTOModule() {} bool LTOModule::isBitcodeFile(const void *Mem, size_t Length) { Expected<MemoryBufferRef> BCData = IRObjectFile::findBitcodeInMemBuffer( MemoryBufferRef(StringRef((const char *)Mem, Length), "<mem>")); - if (!BCData) { - consumeError(BCData.takeError()); - return false; - } - return true; + return !errorToBool(BCData.takeError()); } bool LTOModule::isBitcodeFile(StringRef Path) { @@ -72,11 +67,7 @@ bool LTOModule::isBitcodeFile(StringRef Path) { Expected<MemoryBufferRef> BCData = IRObjectFile::findBitcodeInMemBuffer( BufferOrErr.get()->getMemBufferRef()); - if (!BCData) { - consumeError(BCData.takeError()); - return false; - } - return true; + return !errorToBool(BCData.takeError()); } bool LTOModule::isThinLTO() { @@ -92,10 +83,8 @@ bool LTOModule::isBitcodeForTarget(MemoryBuffer *Buffer, StringRef TriplePrefix) { Expected<MemoryBufferRef> BCOrErr = IRObjectFile::findBitcodeInMemBuffer(Buffer->getMemBufferRef()); - if (!BCOrErr) { - consumeError(BCOrErr.takeError()); + if (errorToBool(BCOrErr.takeError())) return false; - } LLVMContext Context; ErrorOr<std::string> TripleOrErr = expectedToErrorOrAndEmitErrors(Context, getBitcodeTargetTriple(*BCOrErr)); @@ -107,10 +96,8 @@ bool LTOModule::isBitcodeForTarget(MemoryBuffer *Buffer, std::string LTOModule::getProducerString(MemoryBuffer *Buffer) { Expected<MemoryBufferRef> BCOrErr = IRObjectFile::findBitcodeInMemBuffer(Buffer->getMemBufferRef()); - if (!BCOrErr) { - consumeError(BCOrErr.takeError()); + if (errorToBool(BCOrErr.takeError())) return ""; - } LLVMContext Context; ErrorOr<std::string> ProducerOrErr = expectedToErrorOrAndEmitErrors( Context, getBitcodeProducerString(*BCOrErr)); @@ -220,7 +207,7 @@ LTOModule::makeLTOModule(MemoryBufferRef Buffer, const TargetOptions &options, std::string errMsg; const Target *march = TargetRegistry::lookupTarget(TripleStr, errMsg); if (!march) - return std::unique_ptr<LTOModule>(nullptr); + return make_error_code(object::object_error::arch_not_found); // construct LTOModule, hand over ownership of module and target SubtargetFeatures Features; @@ -456,7 +443,7 @@ void LTOModule::addDefinedSymbol(StringRef Name, const GlobalValue *def, attr |= LTO_SYMBOL_SCOPE_HIDDEN; else if (def->hasProtectedVisibility()) attr |= LTO_SYMBOL_SCOPE_PROTECTED; - else if (canBeOmittedFromSymbolTable(def)) + else if (def->canBeOmittedFromSymbolTable()) attr |= LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN; else attr |= LTO_SYMBOL_SCOPE_DEFAULT; |