LLVM: include/llvm/Support/Win64EH.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15#ifndef LLVM_SUPPORT_WIN64EH_H

16#define LLVM_SUPPORT_WIN64EH_H

17

20

21namespace llvm {

23

24

25

27

28

29

41

42

81

82

83

84

85

86

87

88

89

90

95

105

107

110

111

113};

114

115

116

118 struct {

123

125 return u.UnwindOpAndOpInfo & 0x0F;

126 }

128 return (u.UnwindOpAndOpInfo >> 4) & 0x0F;

129 }

130

135};

136

137enum {

138

139

141

142

144

145

147};

148

149

155

156

163

176

177

178

179

180

181

182

183

184

185

189

190

194

195

200

201

206

207

209 return reinterpret_cast<void *>(reinterpret_cast<uint32_t *>(

211 }

212

213

217

218

222};

223

224

225}

226}

227

228#endif

assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")

@ UNW_TerminateHandler

UNW_TerminateHandler - Specifies that this function has a termination handler.

Definition Win64EH.h:143

@ UNW_ExceptionHandler

UNW_ExceptionHandler - Specifies that this function has an exception handler.

Definition Win64EH.h:140

@ UNW_ChainInfo

UNW_ChainInfo - Specifies that this UnwindInfo structure is chained to another one.

Definition Win64EH.h:146

UnwindOpcodes

UnwindOpcodes - Enumeration whose values specify a single operation in the prolog of a function.

Definition Win64EH.h:26

@ UOP_WideNop

Definition Win64EH.h:106

@ UOP_SaveFRegP

Definition Win64EH.h:54

@ UOP_SaveFReg

Definition Win64EH.h:52

@ UOP_WideEndNop

Definition Win64EH.h:109

@ UOP_SaveAnyRegDPX

Definition Win64EH.h:75

@ UOP_SaveRegsR4R7LR

Definition Win64EH.h:98

@ UOP_SaveFRegPX

Definition Win64EH.h:55

@ UOP_SaveFPLRX

Definition Win64EH.h:45

@ UOP_ClearUnwoundToCall

Definition Win64EH.h:64

@ UOP_SaveNonVolBig

Definition Win64EH.h:35

@ UOP_WideAllocMedium

Definition Win64EH.h:92

@ UOP_EndNop

Definition Win64EH.h:108

@ UOP_SaveAnyRegDX

Definition Win64EH.h:74

@ UOP_AllocHuge

Definition Win64EH.h:91

@ UOP_SaveFRegD0D15

Definition Win64EH.h:103

@ UOP_Nop

Definition Win64EH.h:58

@ UOP_SaveAnyRegQP

Definition Win64EH.h:71

@ UOP_SaveAnyRegD

Definition Win64EH.h:68

@ UOP_SaveFPLR

Definition Win64EH.h:46

@ UOP_WideSaveRegsR4R11LR

Definition Win64EH.h:99

@ UOP_Custom

Definition Win64EH.h:112

@ UOP_SpareCode

Definition Win64EH.h:37

@ UOP_SaveNonVol

Definition Win64EH.h:34

@ UOP_SaveAnyRegIPX

Definition Win64EH.h:73

@ UOP_SavePReg

Definition Win64EH.h:80

@ UOP_AddFP

Definition Win64EH.h:57

@ UOP_WideAllocHuge

Definition Win64EH.h:94

@ UOP_SaveRegX

Definition Win64EH.h:48

@ UOP_SaveAnyRegQX

Definition Win64EH.h:76

@ UOP_SetFP

Definition Win64EH.h:56

@ UOP_AllocLarge

Definition Win64EH.h:31

@ UOP_SetFPReg

Definition Win64EH.h:33

@ UOP_SaveRegMask

Definition Win64EH.h:101

@ UOP_SaveSP

Definition Win64EH.h:97

@ UOP_SaveLRPair

Definition Win64EH.h:51

@ UOP_SaveAnyRegIX

Definition Win64EH.h:72

@ UOP_SaveXMM128

Definition Win64EH.h:38

@ UOP_SaveZReg

Definition Win64EH.h:79

@ UOP_AllocSmall

Definition Win64EH.h:32

@ UOP_End

Definition Win64EH.h:59

@ UOP_SaveRegP

Definition Win64EH.h:49

@ UOP_SaveXMM128Big

Definition Win64EH.h:39

@ UOP_SaveRegPX

Definition Win64EH.h:50

@ UOP_SaveAnyRegQ

Definition Win64EH.h:70

@ UOP_SaveNext

Definition Win64EH.h:60

@ UOP_SaveAnyRegDP

Definition Win64EH.h:69

@ UOP_PushNonVol

Definition Win64EH.h:30

@ UOP_SaveFRegD8D15

Definition Win64EH.h:100

@ UOP_PushMachFrame

Definition Win64EH.h:40

@ UOP_SaveR19R20X

Definition Win64EH.h:44

@ UOP_SaveReg

Definition Win64EH.h:47

@ UOP_SaveAnyRegQPX

Definition Win64EH.h:77

@ UOP_SaveLR

Definition Win64EH.h:102

@ UOP_PACSignLR

Definition Win64EH.h:65

@ UOP_WideAllocLarge

Definition Win64EH.h:93

@ UOP_ECContext

Definition Win64EH.h:63

@ UOP_AllocZ

Definition Win64EH.h:78

@ UOP_WideSaveRegMask

Definition Win64EH.h:96

@ UOP_AllocMedium

Definition Win64EH.h:43

@ UOP_SaveAnyRegIP

Definition Win64EH.h:67

@ UOP_TrapFrame

Definition Win64EH.h:61

@ UOP_Epilog

Definition Win64EH.h:36

@ UOP_SaveFRegX

Definition Win64EH.h:53

@ UOP_Context

Definition Win64EH.h:62

@ UOP_SaveFRegD16D31

Definition Win64EH.h:104

@ UOP_SaveAnyRegI

Definition Win64EH.h:66

detail::packed_endian_specific_integral< uint32_t, llvm::endianness::little, unaligned > ulittle32_t

detail::packed_endian_specific_integral< uint16_t, llvm::endianness::little, unaligned > ulittle16_t

This is an optimization pass for GlobalISel generic memory operations.

RuntimeFunction - An entry in the table of functions with unwind info.

Definition Win64EH.h:150

support::ulittle32_t StartAddress

Definition Win64EH.h:151

support::ulittle32_t EndAddress

Definition Win64EH.h:152

support::ulittle32_t UnwindInfoOffset

Definition Win64EH.h:153

UnwindInfo - An entry in the exception table.

Definition Win64EH.h:157

void * getExceptionData()

Return pointer to exception-specific data.

Definition Win64EH.h:208

uint8_t getFrameOffset() const

Definition Win64EH.h:173

uint8_t getFrameRegister() const

Definition Win64EH.h:170

UnwindCode UnwindCodes[1]

Definition Win64EH.h:162

uint8_t PrologSize

Definition Win64EH.h:159

uint8_t getFlags() const

Definition Win64EH.h:167

const void * getLanguageSpecificData() const

Return pointer to language specific data part of UnwindInfo.

Definition Win64EH.h:191

void setLanguageSpecificHandlerOffset(uint32_t offset)

Set image-relative offset of language-specific exception handler.

Definition Win64EH.h:202

uint8_t VersionAndFlags

Definition Win64EH.h:158

uint8_t FrameRegisterAndOffset

Definition Win64EH.h:161

const RuntimeFunction * getChainedFunctionEntry() const

Return pointer to chained unwind info.

Definition Win64EH.h:219

uint32_t getLanguageSpecificHandlerOffset() const

Return image-relative offset of language-specific exception handler.

Definition Win64EH.h:196

void * getLanguageSpecificData()

Return pointer to language specific data part of UnwindInfo.

Definition Win64EH.h:186

uint8_t getVersion() const

Definition Win64EH.h:164

uint8_t NumCodes

Definition Win64EH.h:160

RuntimeFunction * getChainedFunctionEntry()

Return pointer to chained unwind info.

Definition Win64EH.h:214

UnwindCode - This union describes a single operation in a function prolog, or part thereof.

Definition Win64EH.h:117

struct llvm::Win64EH::UnwindCode::@155363032112205007051067226341223137067342247116 u

uint8_t getOpInfo() const

Definition Win64EH.h:127

support::ulittle16_t FrameOffset

Definition Win64EH.h:122

uint8_t getUnwindOp() const

Definition Win64EH.h:124

uint8_t CodeOffset

Definition Win64EH.h:119

uint32_t getEpilogOffset() const

Gets the offset for an UOP_Epilog unwind code.

Definition Win64EH.h:131

uint8_t UnwindOpAndOpInfo

Definition Win64EH.h:120