LLVM: include/llvm/Object/ModuleSymbolTable.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15#ifndef LLVM_OBJECT_MODULESYMBOLTABLE_H
16#define LLVM_OBJECT_MODULESYMBOLTABLE_H
17
23#include
24#include
25#include
26#include
27
28namespace llvm {
29
30class GlobalValue;
32
34public:
35 using AsmSymbol = std::pair<std::string, uint32_t>;
37
38private:
39 Module *FirstMod = nullptr;
40
42 std::vector SymTab;
44
45public:
48
51
52
53
54
55
56
60
61
62
63
64
65
66 static void
69};
70
71}
72
73#endif
This file defines the BumpPtrAllocator interface.
Machine Check Debug Module
This file defines the PointerUnion class, which is a discriminated union of pointer types.
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
void addModule(Module *M)
static void CollectAsmSymvers(const Module &M, function_ref< void(StringRef, StringRef)> AsmSymver)
Parse inline ASM and collect the symvers directives that are defined in the current module.
std::pair< std::string, uint32_t > AsmSymbol
void printSymbolName(raw_ostream &OS, Symbol S) const
PointerUnion< GlobalValue *, AsmSymbol * > Symbol
uint32_t getSymbolFlags(Symbol S) const
ArrayRef< Symbol > symbols() const
static void CollectAsmSymbols(const Module &M, function_ref< void(StringRef, object::BasicSymbolRef::Flags)> AsmSymbol)
Parse inline ASM and collect the symbols that are defined or referenced in the current module.
A Module instance is used to store all the information related to an LLVM module.
A discriminated union of two or more pointer types, with the discriminator in the low bit of the poin...
A BumpPtrAllocator that allows only elements of a specific type to be allocated.
StringRef - Represent a constant reference to a string, i.e.
An efficient, type-erasing, non-owning reference to a callable.
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.