13#ifndef LLVM_OBJECT_IROBJECTFILE_H
14#define LLVM_OBJECT_IROBJECTFILE_H
28 std::vector<std::unique_ptr<Module>> Mods;
31 std::vector<std::unique_ptr<Module>> Mods);
77 std::vector<BitcodeModule>
Mods;
Machine Check Debug Module
Lightweight error class with error context and mandatory checking.
Tagged union holding either a T or a Error.
This is an important class for using LLVM in a threaded context.
A Module instance is used to store all the information related to an LLVM module.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
StringRef - Represent a constant reference to a string, i.e.
Triple - Helper class for working with autoconf configuration names.
bool isArch64Bit() const
Test whether the architecture is 64-bit.
This class can be used to read a Symtab and Strtab produced by irsymtab::build.
A range adaptor for a pair of iterators.
Expected< uint32_t > getSymbolFlags(DataRefImpl Symb) const override
Error printSymbolName(raw_ostream &OS, DataRefImpl Symb) const override
bool is64Bit() const override
StringRef getTargetTriple() const
basic_symbol_iterator symbol_begin() const override
static Expected< MemoryBufferRef > findBitcodeInObject(const ObjectFile &Obj)
Finds and returns bitcode embedded in the given object file, or an error code if not found.
module_iterator module_end() const
pointee_iterator< std::vector< std::unique_ptr< Module > >::const_iterator, const Module > module_iterator
basic_symbol_iterator symbol_end() const override
void moveSymbolNext(DataRefImpl &Symb) const override
module_iterator module_begin() const
static bool classof(const Binary *v)
iterator_range< module_iterator > modules() const
static Expected< MemoryBufferRef > findBitcodeInMemBuffer(MemoryBufferRef Object)
Finds and returns bitcode in the given memory buffer (which may be either a bitcode file or a native ...
static Expected< std::unique_ptr< IRObjectFile > > create(MemoryBufferRef Object, LLVMContext &Context)
This class is the base class for all object file types.
This class implements an extremely fast bulk output stream that can only output to a stream.
Expected< IRSymtabFile > readIRSymtab(MemoryBufferRef MBRef)
Reads a bitcode file, creating its irsymtab if necessary.
This is an optimization pass for GlobalISel generic memory operations.
iterator_range< T > make_range(T x, T y)
Convenience function for iterating over sub-ranges.
The contents of a bitcode file and its irsymtab.
SmallVector< char, 0 > Strtab
irsymtab::Reader TheReader
std::vector< BitcodeModule > Mods
SmallVector< char, 0 > Symtab
An iterator type that allows iterating over the pointees via some other iterator.