LLVM: include/llvm/CodeGen/MachineModuleInfoImpls.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14#ifndef LLVM_CODEGEN_MACHINEMODULEINFOIMPLS_H
15#define LLVM_CODEGEN_MACHINEMODULEINFOIMPLS_H
16
20#include
21
22namespace llvm {
23
25
26
27
29
30
31
33
34
35
36
38
39
40
41
43
44 virtual void anchor();
45
46public:
48
50 assert(Sym && "Key cannot be null");
51 return GVStubs[Sym];
52 }
53
55 assert(Sym && "Key cannot be null");
56 return ThreadLocalGVStubs[Sym];
57 }
58
60 assert(Sym && "Key cannot be null");
61 return AuthPtrStubs[Sym];
62 }
63
64
68 }
69
72 }
73};
74
75
76
78
79
81
82
83
85
86
87
88 bool HasSignedPersonality = false;
89
90 virtual void anchor();
91
92public:
94
96 assert(Sym && "Key cannot be null");
97 return GVStubs[Sym];
98 }
99
101 assert(Sym && "Key cannot be null");
102 return AuthPtrStubs[Sym];
103 }
104
105
106
108
111 }
112
114};
115
116
117
119
120
122
123 virtual void anchor();
124
125public:
127
129 assert(Sym && "Key cannot be null");
130 return GVStubs[Sym];
131 }
132
133
134
136};
137
138
139
141 virtual void anchor();
142
143public:
145
147};
148
149}
150
151#endif
This file defines the DenseMap class.
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
This file implements a set that has insertion order iteration characteristics.
Base class for the full range of assembler expressions which are needed for parsing.
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
MachineModuleInfoCOFF - This is a MachineModuleInfoImpl implementation for COFF targets.
StubValueTy & getGVStubEntry(MCSymbol *Sym)
SymbolListTy GetGVStubList()
Accessor methods to return the set of stubs in sorted order.
MachineModuleInfoCOFF(const MachineModuleInfo &)
MachineModuleInfoELF - This is a MachineModuleInfoImpl implementation for ELF targets.
const MCExpr *& getAuthPtrStubEntry(MCSymbol *Sym)
ExprStubListTy getAuthGVStubList()
bool hasSignedPersonality() const
StubValueTy & getGVStubEntry(MCSymbol *Sym)
SymbolListTy GetGVStubList()
Accessor methods to return the set of stubs in sorted order.
This class can be derived from and used by targets to hold private target-specific information for ea...
std::vector< std::pair< MCSymbol *, StubValueTy > > SymbolListTy
static SymbolListTy getSortedStubs(DenseMap< MCSymbol *, StubValueTy > &)
Return the entries from a DenseMap in a deterministic sorted orer.
std::vector< std::pair< MCSymbol *, const MCExpr * > > ExprStubListTy
A variant of SymbolListTy where the stub is a generalized MCExpr.
static ExprStubListTy getSortedExprStubs(DenseMap< MCSymbol *, const MCExpr * > &)
Return the entries from a DenseMap in a deterministic sorted orer.
MachineModuleInfoMachO - This is a MachineModuleInfoImpl implementation for MachO targets.
SymbolListTy GetThreadLocalGVStubList()
const MCExpr *& getAuthPtrStubEntry(MCSymbol *Sym)
StubValueTy & getGVStubEntry(MCSymbol *Sym)
StubValueTy & getThreadLocalGVStubEntry(MCSymbol *Sym)
SymbolListTy GetGVStubList()
Accessor methods to return the set of stubs in sorted order.
ExprStubListTy getAuthGVStubList()
MachineModuleInfoMachO(const MachineModuleInfo &)
MachineModuleInfoWasm - This is a MachineModuleInfoImpl implementation for Wasm targets.
MachineModuleInfoWasm(const MachineModuleInfo &)
SetVector< StringRef > MachineSymbolsUsed
This class contains meta information specific to a module.
PointerIntPair - This class implements a pair of a pointer and small integer.
A vector that has set insertion semantics.
This is an optimization pass for GlobalISel generic memory operations.