14 #ifndef LLVM_OBJECT_MODULESUMMARYINDEXOBJECTFILE_H
15 #define LLVM_OBJECT_MODULESUMMARYINDEXOBJECTFILE_H
21 class ModuleSummaryIndex;
32 std::unique_ptr<ModuleSummaryIndex> Index;
36 std::unique_ptr<ModuleSummaryIndex>
I);
47 return std::error_code();
66 std::unique_ptr<ModuleSummaryIndex>
takeIndex();
92 Expected<std::unique_ptr<ModuleSummaryIndex>>
static ErrorOr< MemoryBufferRef > findBitcodeInMemBuffer(MemoryBufferRef Object)
Finds and returns bitcode in the given memory buffer (which may be either a bitcode file or a native ...
Represents either an error or a value T.
~ModuleSummaryIndexObjectFile() override
basic_symbol_iterator symbol_begin() const override
static Expected< std::unique_ptr< ModuleSummaryIndexObjectFile > > create(MemoryBufferRef Object)
Parse module summary index in the given memory buffer.
bool isModuleSummaryIndex() const
This class is the base class for all object file types.
static ErrorOr< MemoryBufferRef > findBitcodeInObject(const ObjectFile &Obj)
Finds and returns bitcode embedded in the given object file, or an error code if not found...
Tagged union holding either a T or a Error.
const ModuleSummaryIndex & getIndex() const
void moveSymbolNext(DataRefImpl &Symb) const override
Class to hold module path string table and global value map, and encapsulate methods for operating on...
ModuleSummaryIndex & getIndex()
ModuleSummaryIndexObjectFile(MemoryBufferRef Object, std::unique_ptr< ModuleSummaryIndex > I)
std::error_code printSymbolName(raw_ostream &OS, DataRefImpl Symb) const override
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
Expected< std::unique_ptr< ModuleSummaryIndex > > getModuleSummaryIndexForFile(StringRef Path)
Parse the module summary index out of an IR file and return the module summary index object if found...
content_iterator< BasicSymbolRef > basic_symbol_iterator
std::unique_ptr< ModuleSummaryIndex > takeIndex()
static bool classof(const Binary *v)
This is a value type class that represents a single symbol in the list of symbols in the object file...
uint32_t getSymbolFlags(DataRefImpl Symb) const override
This class is used to read just the module summary index related sections out of the given object (wh...
This class implements an extremely fast bulk output stream that can only output to a stream...
basic_symbol_iterator symbol_end() const override