13#ifndef LLVM_CODEGEN_WINEHFUNCINFO_H 
   14#define LLVM_CODEGEN_WINEHFUNCINFO_H 
This file defines the DenseMap class.
 
uint64_t IntrinsicInst * II
 
This file defines the PointerUnion class, which is a discriminated union of pointer types.
 
This file defines the SmallVector class.
 
an instruction to allocate memory on the stack
 
LLVM Basic Block Representation.
 
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
 
A discriminated union of two or more pointer types, with the discriminator in the low bit of the poin...
 
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
 
This is an optimization pass for GlobalISel generic memory operations.
 
void calculateWinCXXEHStateNumbers(const Function *ParentFn, WinEHFuncInfo &FuncInfo)
Analyze the IR in ParentFn and it's handlers to build WinEHFuncInfo, which describes the state number...
 
void calculateSEHStateForAsynchEH(const BasicBlock *BB, int State, WinEHFuncInfo &FuncInfo)
 
void calculateCXXStateForAsynchEH(const BasicBlock *BB, int State, WinEHFuncInfo &FuncInfo)
 
void calculateSEHStateNumbers(const Function *ParentFn, WinEHFuncInfo &FuncInfo)
 
PointerUnion< const BasicBlock *, MachineBasicBlock * > MBBOrBasicBlock
 
void calculateClrEHStateNumbers(const Function *Fn, WinEHFuncInfo &FuncInfo)
 
int TryParentState
Outer try region enclosing this entry's try region, treating later catches on same try as "outer".
 
int HandlerParentState
Outer handler enclosing this entry's handler.
 
ClrHandlerType HandlerType
 
Similar to CxxUnwindMapEntry, but supports SEH filters.
 
int ToState
If unwinding continues through this handler, transition to the handler at this state.
 
MBBOrBasicBlock Handler
Holds the __except or __finally basic block.
 
const Function * Filter
Holds the filter expression function.
 
void addIPToStateRange(const InvokeInst *II, MCSymbol *InvokeBegin, MCSymbol *InvokeEnd)
 
SmallVector< SEHUnwindMapEntry, 4 > SEHUnwindMap
 
SmallVector< ClrEHUnwindMapEntry, 4 > ClrEHUnwindMap
 
DenseMap< const FuncletPadInst *, int > FuncletBaseStateMap
 
DenseMap< const BasicBlock *, int > BlockToStateMap
 
DenseMap< const InvokeInst *, int > InvokeStateMap
 
SmallVector< WinEHTryBlockMapEntry, 4 > TryBlockMap
 
DenseMap< const Instruction *, int > EHPadStateMap
 
DenseMap< MCSymbol *, std::pair< int, MCSymbol * > > LabelToStateMap
 
SmallVector< CxxUnwindMapEntry, 4 > CxxUnwindMap
 
int getLastStateNumber() const
 
GlobalVariable * TypeDescriptor
 
union llvm::WinEHHandlerType::@246205307012256373115155017221207221353102114334 CatchObj
The CatchObj starts out life as an LLVM alloca and is eventually turned frame index.
 
const AllocaInst * Alloca
 
SmallVector< WinEHHandlerType, 1 > HandlerArray