diff options
Diffstat (limited to 'lib/Object/IRObjectFile.cpp')
| -rw-r--r-- | lib/Object/IRObjectFile.cpp | 32 | 
1 files changed, 12 insertions, 20 deletions
diff --git a/lib/Object/IRObjectFile.cpp b/lib/Object/IRObjectFile.cpp index e7807b038335..1ecb26d60bce 100644 --- a/lib/Object/IRObjectFile.cpp +++ b/lib/Object/IRObjectFile.cpp @@ -12,7 +12,6 @@  //===----------------------------------------------------------------------===//  #include "llvm/Object/IRObjectFile.h" -#include "RecordStreamer.h"  #include "llvm/ADT/STLExtras.h"  #include "llvm/BinaryFormat/Magic.h"  #include "llvm/Bitcode/BitcodeReader.h" @@ -20,17 +19,8 @@  #include "llvm/IR/LLVMContext.h"  #include "llvm/IR/Mangler.h"  #include "llvm/IR/Module.h" -#include "llvm/MC/MCAsmInfo.h" -#include "llvm/MC/MCContext.h" -#include "llvm/MC/MCInstrInfo.h" -#include "llvm/MC/MCObjectFileInfo.h" -#include "llvm/MC/MCParser/MCAsmParser.h" -#include "llvm/MC/MCParser/MCTargetAsmParser.h" -#include "llvm/MC/MCRegisterInfo.h" -#include "llvm/MC/MCSubtargetInfo.h"  #include "llvm/Object/ObjectFile.h"  #include "llvm/Support/MemoryBuffer.h" -#include "llvm/Support/SourceMgr.h"  #include "llvm/Support/TargetRegistry.h"  #include "llvm/Support/raw_ostream.h"  using namespace llvm; @@ -82,20 +72,22 @@ StringRef IRObjectFile::getTargetTriple() const {    return Mods[0]->getTargetTriple();  } -ErrorOr<MemoryBufferRef> IRObjectFile::findBitcodeInObject(const ObjectFile &Obj) { +Expected<MemoryBufferRef> +IRObjectFile::findBitcodeInObject(const ObjectFile &Obj) {    for (const SectionRef &Sec : Obj.sections()) {      if (Sec.isBitcode()) {        StringRef SecContents;        if (std::error_code EC = Sec.getContents(SecContents)) -        return EC; +        return errorCodeToError(EC);        return MemoryBufferRef(SecContents, Obj.getFileName());      }    } -  return object_error::bitcode_section_not_found; +  return errorCodeToError(object_error::bitcode_section_not_found);  } -ErrorOr<MemoryBufferRef> IRObjectFile::findBitcodeInMemBuffer(MemoryBufferRef Object) { +Expected<MemoryBufferRef> +IRObjectFile::findBitcodeInMemBuffer(MemoryBufferRef Object) {    file_magic Type = identify_magic(Object.getBuffer());    switch (Type) {    case file_magic::bitcode: @@ -106,19 +98,19 @@ ErrorOr<MemoryBufferRef> IRObjectFile::findBitcodeInMemBuffer(MemoryBufferRef Ob      Expected<std::unique_ptr<ObjectFile>> ObjFile =          ObjectFile::createObjectFile(Object, Type);      if (!ObjFile) -      return errorToErrorCode(ObjFile.takeError()); +      return ObjFile.takeError();      return findBitcodeInObject(*ObjFile->get());    }    default: -    return object_error::invalid_file_type; +    return errorCodeToError(object_error::invalid_file_type);    }  }  Expected<std::unique_ptr<IRObjectFile>>  IRObjectFile::create(MemoryBufferRef Object, LLVMContext &Context) { -  ErrorOr<MemoryBufferRef> BCOrErr = findBitcodeInMemBuffer(Object); +  Expected<MemoryBufferRef> BCOrErr = findBitcodeInMemBuffer(Object);    if (!BCOrErr) -    return errorCodeToError(BCOrErr.getError()); +    return BCOrErr.takeError();    Expected<std::vector<BitcodeModule>> BMsOrErr =        getBitcodeModuleList(*BCOrErr); @@ -142,10 +134,10 @@ IRObjectFile::create(MemoryBufferRef Object, LLVMContext &Context) {  Expected<IRSymtabFile> object::readIRSymtab(MemoryBufferRef MBRef) {    IRSymtabFile F; -  ErrorOr<MemoryBufferRef> BCOrErr = +  Expected<MemoryBufferRef> BCOrErr =        IRObjectFile::findBitcodeInMemBuffer(MBRef);    if (!BCOrErr) -    return errorCodeToError(BCOrErr.getError()); +    return BCOrErr.takeError();    Expected<BitcodeFileContents> BFCOrErr = getBitcodeFileContents(*BCOrErr);    if (!BFCOrErr)  | 
