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