LLVM 19.0.0git
Public Member Functions | Public Attributes | List of all members
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 1393 of file WinEHPrepare.cpp.

References assert(), InvokeStateMap, and LabelToStateMap.

◆ addIPToStateRange() [2/2]

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

Definition at line 1401 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

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

◆ CxxUnwindMap

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

◆ EHGuardFrameIndex

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

Definition at line 112 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

Definition at line 92 of file WinEHFuncInfo.h.

Referenced by calculateCXXStateNumbers(), and calculateStateNumbersForInvokes().

◆ InvokeStateMap

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

◆ LabelToStateMap

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

Definition at line 94 of file WinEHFuncInfo.h.

Referenced by 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

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: