LLVM: include/llvm/ExecutionEngine/JITLink/EHFrameSupport.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef LLVM_EXECUTIONENGINE_JITLINK_EHFRAMESUPPORT_H
14#define LLVM_EXECUTIONENGINE_JITLINK_EHFRAMESUPPORT_H
15
21
22namespace llvm {
24
25
26class EHFrameCFIBlockInspector {
27public:
28
29
30
31
32
33
34
35
36
37
38
39
41
42
43 bool isFDE() const { return CIEEdge != nullptr; }
44
45
46 bool isCIE() const { return CIEEdge == nullptr; }
47
48
49
50
55
56
57
58
59
60
62
63
64
65
67
68
69
74
75private:
78
79 Edge *CIEEdge = nullptr;
80 Edge *PCBeginEdge = nullptr;
81 union {
84 };
85};
86
87
88
90
91}
92}
93
94#endif
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
An Addressable with content and edges.
Inspect an eh-frame CFI record.
Definition EHFrameSupport.h:26
Edge * getCIEEdge() const
If this is an FDE record, returns the Edge pointing to the CIE.
Definition EHFrameSupport.h:61
Edge * getPCBeginEdge() const
If this is an FDE record, returns the Edge pointing at the PC-begin symbol.
Definition EHFrameSupport.h:66
Edge * getLSDAEdge() const
If this is an FDE record, returns the Edge pointing at the LSDA, if any.
Definition EHFrameSupport.h:70
Edge * LSDAEdge
Definition EHFrameSupport.h:83
bool isCIE() const
Returns true if this frame is a CIE, false for an FDE.
Definition EHFrameSupport.h:46
Edge * PersonalityEdge
Definition EHFrameSupport.h:82
Edge * getPersonalityEdge() const
If this is a CIE record, returns the Edge pointing at the personality function, if any.
Definition EHFrameSupport.h:51
bool isFDE() const
Returns true if this frame is an FDE, false for a CIE.
Definition EHFrameSupport.h:43
static LLVM_ABI EHFrameCFIBlockInspector FromEdgeScan(Block &B)
Identify CFI record type and edges based on number and order of edges in the given block only.
Represents fixups and constraints in the LinkGraph.
LLVM_ABI Section * getEHFrameSection(LinkGraph &G)
Returns a pointer to the DWARF eh-frame section if the graph contains a non-empty one,...
This is an optimization pass for GlobalISel generic memory operations.