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.