14 #ifndef LLVM_CODEGEN_WINEHFUNCINFO_H 15 #define LLVM_CODEGEN_WINEHFUNCINFO_H 33 class MachineBasicBlock;
52 bool IsFinally =
false;
129 #endif // LLVM_CODEGEN_WINEHFUNCINFO_H
SmallVector< WinEHHandlerType, 1 > HandlerArray
int getLastStateNumber() const
GCNRegPressure max(const GCNRegPressure &P1, const GCNRegPressure &P2)
DenseMap< MCSymbol *, std::pair< int, MCSymbol * > > LabelToStateMap
This class represents lattice values for constants.
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
SmallVector< SEHUnwindMapEntry, 4 > SEHUnwindMap
DenseMap< const FuncletPadInst *, int > FuncletBaseStateMap
const AllocaInst * Alloca
MBBOrBasicBlock Handler
Holds the __except or __finally basic block.
void calculateSEHStateNumbers(const Function *ParentFn, WinEHFuncInfo &FuncInfo)
int TryParentState
Outer try region enclosing this entry's try region, treating later catches on same try as "outer"...
Similar to CxxUnwindMapEntry, but supports SEH filters.
SmallVector< ClrEHUnwindMapEntry, 4 > ClrEHUnwindMap
DenseMap< const Instruction *, int > EHPadStateMap
DenseMap< const InvokeInst *, int > InvokeStateMap
void calculateClrEHStateNumbers(const Function *Fn, WinEHFuncInfo &FuncInfo)
void calculateWinCXXEHStateNumbers(const Function *ParentFn, WinEHFuncInfo &FuncInfo)
Analyze the IR in ParentFn and it's handlers to build WinEHFuncInfo, which describes the state number...
SmallVector< CxxUnwindMapEntry, 4 > CxxUnwindMap
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small...
int HandlerParentState
Outer handler enclosing this entry's handler.
SmallVector< WinEHTryBlockMapEntry, 4 > TryBlockMap
GlobalVariable * TypeDescriptor
ClrHandlerType HandlerType
an instruction to allocate memory on the stack
A discriminated union of two pointer types, with the discriminator in the low bit of the pointer...