14 #ifndef LLVM_CODEGEN_WINEHFUNCINFO_H
15 #define LLVM_CODEGEN_WINEHFUNCINFO_H
26 class CatchReturnInst;
35 class MachineBasicBlock;
129 #endif // LLVM_CODEGEN_WINEHFUNCINFO_H
SmallVector< WinEHHandlerType, 1 > HandlerArray
DenseMap< MCSymbol *, std::pair< int, MCSymbol * > > LabelToStateMap
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"...
int ToState
If unwinding continues through this handler, transition to the handler at this state.
Similar to CxxUnwindMapEntry, but supports SEH filters.
SmallVector< ClrEHUnwindMapEntry, 4 > ClrEHUnwindMap
DenseMap< const Instruction *, int > EHPadStateMap
int getLastStateNumber() const
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
const Function * Filter
Holds the filter expression function.
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.
void addIPToStateRange(const InvokeInst *II, MCSymbol *InvokeBegin, MCSymbol *InvokeEnd)
PointerUnion< const BasicBlock *, MachineBasicBlock * > MBBOrBasicBlock
SmallVector< WinEHTryBlockMapEntry, 4 > TryBlockMap
GlobalVariable * TypeDescriptor
union llvm::WinEHHandlerType::@61 CatchObj
The CatchObj starts out life as an LLVM alloca and is eventually turned frame index.
ClrHandlerType HandlerType
LLVM Value Representation.
an instruction to allocate memory on the stack