LLVM 22.0.0git
llvm::WinEHFuncInfo Struct Reference

#include "llvm/CodeGen/WinEHFuncInfo.h"

Public Member Functions

int getLastStateNumber () const
void addIPToStateRange (const InvokeInst *II, MCSymbol *InvokeBegin, MCSymbol *InvokeEnd)
void addIPToStateRange (int State, 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
DenseMap< const BasicBlock *, int > BlockToStateMap
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 90 of file WinEHFuncInfo.h.

Constructor & Destructor Documentation

◆ WinEHFuncInfo()

WinEHFuncInfo::WinEHFuncInfo ( )
default

Member Function Documentation

◆ addIPToStateRange() [1/2]

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

Definition at line 1438 of file WinEHPrepare.cpp.

References assert(), II, InvokeStateMap, and LabelToStateMap.

◆ addIPToStateRange() [2/2]

void WinEHFuncInfo::addIPToStateRange ( int State,
MCSymbol * InvokeBegin,
MCSymbol * InvokeEnd )

Definition at line 1446 of file WinEHPrepare.cpp.

References LabelToStateMap.

◆ getLastStateNumber()

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

Definition at line 103 of file WinEHFuncInfo.h.

References CxxUnwindMap.

Referenced by addUnwindMapEntry(), and calculateCXXStateNumbers().

Member Data Documentation

◆ BlockToStateMap

DenseMap<const BasicBlock *, int> llvm::WinEHFuncInfo::BlockToStateMap

◆ ClrEHUnwindMap

◆ CxxUnwindMap

◆ EHGuardFrameIndex

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

Definition at line 112 of file WinEHFuncInfo.h.

Referenced by MarkEHGuard().

◆ 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

Definition at line 92 of file WinEHFuncInfo.h.

Referenced by calculateCXXStateNumbers(), and calculateStateNumbersForInvokes().

◆ InvokeStateMap

◆ LabelToStateMap

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

Definition at line 94 of file WinEHFuncInfo.h.

Referenced by addIPToStateRange(), and addIPToStateRange().

◆ PSPSymFrameIdx

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

Definition at line 101 of file WinEHFuncInfo.h.

Referenced by llvm::X86FrameLowering::emitPrologue().

◆ SEHSetFrameOffset

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

Definition at line 113 of file WinEHFuncInfo.h.

Referenced by llvm::X86FrameLowering::emitPrologue().

◆ SEHUnwindMap

◆ TryBlockMap

◆ UnwindHelpFrameIdx

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

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