LLVM: include/llvm/Object/IRObjectFile.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef LLVM_OBJECT_IROBJECTFILE_H
14#define LLVM_OBJECT_IROBJECTFILE_H
15
21
22namespace llvm {
24
27
29 std::vector<std::unique_ptr> Mods;
32 std::vector<std::unique_ptr> Mods);
33
34public:
44 StringRef getTargetTriple() const;
45
47 return v->isIR();
48 }
49
53
56
60
61
62
64
65
66
67
70
73};
74
75
76
81};
82
83
85}
86
87}
88
89#endif
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.
LLVM_ABI 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
Definition IRObjectFile.h:41
StringRef getTargetTriple() const
pointee_iterator< std::vector< std::unique_ptr< Module > >::const_iterator, const Module > module_iterator
Definition IRObjectFile.h:50
basic_symbol_iterator symbol_begin() const override
module_iterator module_end() const
Definition IRObjectFile.h:55
basic_symbol_iterator symbol_end() const override
void moveSymbolNext(DataRefImpl &Symb) const override
module_iterator module_begin() const
Definition IRObjectFile.h:54
static bool classof(const Binary *v)
Definition IRObjectFile.h:46
iterator_range< module_iterator > modules() const
Definition IRObjectFile.h:57
This class is the base class for all object file types.
SymbolicFile(unsigned int Type, MemoryBufferRef Source)
This class implements an extremely fast bulk output stream that can only output to a stream.
LLVM_ABI Expected< IRSymtabFile > readIRSymtab(MemoryBufferRef MBRef)
Reads a bitcode file, creating its irsymtab if necessary.
content_iterator< BasicSymbolRef > basic_symbol_iterator
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.
Definition IRObjectFile.h:77
SmallVector< char, 0 > Strtab
Definition IRObjectFile.h:79
irsymtab::Reader TheReader
Definition IRObjectFile.h:80
std::vector< BitcodeModule > Mods
Definition IRObjectFile.h:78
SmallVector< char, 0 > Symtab
Definition IRObjectFile.h:79
An iterator type that allows iterating over the pointees via some other iterator.