Index: llvm/trunk/include/llvm/Object/IRObjectFile.h =================================================================== --- llvm/trunk/include/llvm/Object/IRObjectFile.h +++ llvm/trunk/include/llvm/Object/IRObjectFile.h @@ -30,29 +30,17 @@ class IRObjectFile : public SymbolicFile { std::unique_ptr M; ModuleSymbolTable SymTab; + IRObjectFile(MemoryBufferRef Object, std::unique_ptr M); public: - IRObjectFile(MemoryBufferRef Object, std::unique_ptr M); ~IRObjectFile() override; void moveSymbolNext(DataRefImpl &Symb) const override; std::error_code printSymbolName(raw_ostream &OS, DataRefImpl Symb) const override; uint32_t getSymbolFlags(DataRefImpl Symb) const override; - GlobalValue *getSymbolGV(DataRefImpl Symb); - const GlobalValue *getSymbolGV(DataRefImpl Symb) const { - return const_cast(this)->getSymbolGV(Symb); - } basic_symbol_iterator symbol_begin() const override; basic_symbol_iterator symbol_end() const override; - const Module &getModule() const { - return const_cast(this)->getModule(); - } - Module &getModule() { - return *M; - } - std::unique_ptr takeModule(); - StringRef getTargetTriple() const; static inline bool classof(const Binary *v) { Index: llvm/trunk/lib/Object/IRObjectFile.cpp =================================================================== --- llvm/trunk/lib/Object/IRObjectFile.cpp +++ llvm/trunk/lib/Object/IRObjectFile.cpp @@ -60,12 +60,6 @@ return SymTab.getSymbolFlags(getSym(Symb)); } -GlobalValue *IRObjectFile::getSymbolGV(DataRefImpl Symb) { - return getSym(Symb).dyn_cast(); -} - -std::unique_ptr IRObjectFile::takeModule() { return std::move(M); } - basic_symbol_iterator IRObjectFile::symbol_begin() const { DataRefImpl Ret; Ret.p = reinterpret_cast(SymTab.symbols().data()); @@ -127,5 +121,6 @@ return MOrErr.takeError(); std::unique_ptr &M = MOrErr.get(); - return llvm::make_unique(BCOrErr.get(), std::move(M)); + return std::unique_ptr( + new IRObjectFile(*BCOrErr, std::move(M))); }