diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-12-18 20:10:56 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-12-18 20:10:56 +0000 |
commit | 044eb2f6afba375a914ac9d8024f8f5142bb912e (patch) | |
tree | 1475247dc9f9fe5be155ebd4c9069c75aadf8c20 /lib/Object/IRObjectFile.cpp | |
parent | eb70dddbd77e120e5d490bd8fbe7ff3f8fa81c6b (diff) |
Notes
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) |