13 #ifndef LLVM_CODEGEN_WINEHFUNCINFO_H 14 #define LLVM_CODEGEN_WINEHFUNCINFO_H 32 class MachineBasicBlock;
51 bool IsFinally =
false;
128 #endif // LLVM_CODEGEN_WINEHFUNCINFO_H
SmallVector< WinEHHandlerType, 1 > HandlerArray
int getLastStateNumber() const
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
Align max(MaybeAlign Lhs, Align Rhs)
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 or more pointer types, with the discriminator in the low bit of the poin...