LLVM  8.0.1
Public Member Functions | Public Attributes | List of all members
llvm::WinEHFuncInfo Struct Reference

#include "llvm/CodeGen/WinEHFuncInfo.h"

Collaboration diagram for llvm::WinEHFuncInfo:
Collaboration graph
[legend]

Public Member Functions

int getLastStateNumber () const
 
void addIPToStateRange (const InvokeInst *II, MCSymbol *InvokeBegin, MCSymbol *InvokeEnd)
 
 WinEHFuncInfo ()
 

Public Attributes

DenseMap< const Instruction *, int > EHPadStateMap
 
DenseMap< const FuncletPadInst *, int > FuncletBaseStateMap
 
DenseMap< const InvokeInst *, int > InvokeStateMap
 
DenseMap< MCSymbol *, std::pair< int, MCSymbol * > > LabelToStateMap
 
SmallVector< CxxUnwindMapEntry, 4 > CxxUnwindMap
 
SmallVector< WinEHTryBlockMapEntry, 4 > TryBlockMap
 
SmallVector< SEHUnwindMapEntry, 4 > SEHUnwindMap
 
SmallVector< ClrEHUnwindMapEntry, 4 > ClrEHUnwindMap
 
int UnwindHelpFrameIdx = std::numeric_limits<int>::max()
 
int PSPSymFrameIdx = std::numeric_limits<int>::max()
 
int EHRegNodeFrameIndex = std::numeric_limits<int>::max()
 
int EHRegNodeEndOffset = std::numeric_limits<int>::max()
 
int EHGuardFrameIndex = std::numeric_limits<int>::max()
 
int SEHSetFrameOffset = std::numeric_limits<int>::max()
 

Detailed Description

Definition at line 91 of file WinEHFuncInfo.h.

Constructor & Destructor Documentation

◆ WinEHFuncInfo()

WinEHFuncInfo::WinEHFuncInfo ( )

Definition at line 1245 of file WinEHPrepare.cpp.

Member Function Documentation

◆ addIPToStateRange()

void WinEHFuncInfo::addIPToStateRange ( const InvokeInst II,
MCSymbol InvokeBegin,
MCSymbol InvokeEnd 
)

Definition at line 1237 of file WinEHPrepare.cpp.

References assert().

Referenced by llvm::SelectionDAGBuilder::lowerInvokable().

◆ getLastStateNumber()

int llvm::WinEHFuncInfo::getLastStateNumber ( ) const
inline

Definition at line 103 of file WinEHFuncInfo.h.

References llvm::SmallVectorBase::size().

Referenced by addUnwindMapEntry(), and calculateCXXStateNumbers().

Member Data Documentation

◆ ClrEHUnwindMap

SmallVector<ClrEHUnwindMapEntry, 4> llvm::WinEHFuncInfo::ClrEHUnwindMap

◆ CxxUnwindMap

SmallVector<CxxUnwindMapEntry, 4> llvm::WinEHFuncInfo::CxxUnwindMap

Definition at line 96 of file WinEHFuncInfo.h.

Referenced by addUnwindMapEntry(), and llvm::FunctionLoweringInfo::set().

◆ EHGuardFrameIndex

int llvm::WinEHFuncInfo::EHGuardFrameIndex = std::numeric_limits<int>::max()

Definition at line 110 of file WinEHFuncInfo.h.

Referenced by MarkEHGuard().

◆ EHPadStateMap

DenseMap<const Instruction *, int> llvm::WinEHFuncInfo::EHPadStateMap

◆ EHRegNodeEndOffset

int llvm::WinEHFuncInfo::EHRegNodeEndOffset = std::numeric_limits<int>::max()

◆ EHRegNodeFrameIndex

int llvm::WinEHFuncInfo::EHRegNodeFrameIndex = std::numeric_limits<int>::max()

◆ FuncletBaseStateMap

DenseMap<const FuncletPadInst *, int> llvm::WinEHFuncInfo::FuncletBaseStateMap

◆ InvokeStateMap

DenseMap<const InvokeInst *, int> llvm::WinEHFuncInfo::InvokeStateMap

Definition at line 94 of file WinEHFuncInfo.h.

Referenced by calculateStateNumbersForInvokes(), and INITIALIZE_PASS().

◆ LabelToStateMap

DenseMap<MCSymbol *, std::pair<int, MCSymbol *> > llvm::WinEHFuncInfo::LabelToStateMap

Definition at line 95 of file WinEHFuncInfo.h.

◆ PSPSymFrameIdx

int llvm::WinEHFuncInfo::PSPSymFrameIdx = std::numeric_limits<int>::max()

Definition at line 101 of file WinEHFuncInfo.h.

Referenced by isFuncletReturnInstr().

◆ SEHSetFrameOffset

int llvm::WinEHFuncInfo::SEHSetFrameOffset = std::numeric_limits<int>::max()

Definition at line 111 of file WinEHFuncInfo.h.

◆ SEHUnwindMap

SmallVector<SEHUnwindMapEntry, 4> llvm::WinEHFuncInfo::SEHUnwindMap

◆ TryBlockMap

SmallVector<WinEHTryBlockMapEntry, 4> llvm::WinEHFuncInfo::TryBlockMap

◆ UnwindHelpFrameIdx

int llvm::WinEHFuncInfo::UnwindHelpFrameIdx = std::numeric_limits<int>::max()

The documentation for this struct was generated from the following files: