LLVM 20.0.0git
Classes | Public Member Functions | Public Attributes | List of all members
llvm::WinEH::FrameInfo Struct Reference

#include "llvm/MC/MCWinEH.h"

Classes

struct  Epilog
 
struct  Segment
 

Public Member Functions

 FrameInfo ()=default
 
 FrameInfo (const MCSymbol *Function, const MCSymbol *BeginFuncEHLabel)
 
 FrameInfo (const MCSymbol *Function, const MCSymbol *BeginFuncEHLabel, const FrameInfo *ChainedParent)
 
bool empty () const
 

Public Attributes

const MCSymbolBegin = nullptr
 
const MCSymbolEnd = nullptr
 
const MCSymbolFuncletOrFuncEnd = nullptr
 
const MCSymbolExceptionHandler = nullptr
 
const MCSymbolFunction = nullptr
 
const MCSymbolPrologEnd = nullptr
 
const MCSymbolSymbol = nullptr
 
MCSectionTextSection = nullptr
 
uint32_t PackedInfo = 0
 
uint32_t PrologCodeBytes = 0
 
bool HandlesUnwind = false
 
bool HandlesExceptions = false
 
bool EmitAttempted = false
 
bool Fragment = false
 
int LastFrameInst = -1
 
const FrameInfoChainedParent = nullptr
 
std::vector< InstructionInstructions
 
MapVector< MCSymbol *, EpilogEpilogMap
 
std::vector< SegmentSegments
 

Detailed Description

Definition at line 39 of file MCWinEH.h.

Constructor & Destructor Documentation

◆ FrameInfo() [1/3]

llvm::WinEH::FrameInfo::FrameInfo ( )
default

◆ FrameInfo() [2/3]

llvm::WinEH::FrameInfo::FrameInfo ( const MCSymbol Function,
const MCSymbol BeginFuncEHLabel 
)
inline

Definition at line 82 of file MCWinEH.h.

◆ FrameInfo() [3/3]

llvm::WinEH::FrameInfo::FrameInfo ( const MCSymbol Function,
const MCSymbol BeginFuncEHLabel,
const FrameInfo ChainedParent 
)
inline

Definition at line 84 of file MCWinEH.h.

Member Function Documentation

◆ empty()

bool llvm::WinEH::FrameInfo::empty ( ) const
inline

Definition at line 89 of file MCWinEH.h.

References E, EpilogMap, and Instructions.

Member Data Documentation

◆ Begin

const MCSymbol* llvm::WinEH::FrameInfo::Begin = nullptr

Definition at line 40 of file MCWinEH.h.

◆ ChainedParent

const FrameInfo* llvm::WinEH::FrameInfo::ChainedParent = nullptr

◆ EmitAttempted

bool llvm::WinEH::FrameInfo::EmitAttempted = false

Definition at line 53 of file MCWinEH.h.

◆ End

const MCSymbol* llvm::WinEH::FrameInfo::End = nullptr

◆ EpilogMap

MapVector<MCSymbol *, Epilog> llvm::WinEH::FrameInfo::EpilogMap

◆ ExceptionHandler

const MCSymbol* llvm::WinEH::FrameInfo::ExceptionHandler = nullptr

Definition at line 43 of file MCWinEH.h.

Referenced by llvm::MCStreamer::emitWinEHHandler().

◆ Fragment

bool llvm::WinEH::FrameInfo::Fragment = false

Definition at line 54 of file MCWinEH.h.

◆ FuncletOrFuncEnd

const MCSymbol* llvm::WinEH::FrameInfo::FuncletOrFuncEnd = nullptr

Definition at line 42 of file MCWinEH.h.

Referenced by llvm::MCStreamer::emitWinCFIEndProc().

◆ Function

const MCSymbol* llvm::WinEH::FrameInfo::Function = nullptr

Definition at line 44 of file MCWinEH.h.

Referenced by llvm::MCObjectStreamer::emitFill().

◆ HandlesExceptions

bool llvm::WinEH::FrameInfo::HandlesExceptions = false

Definition at line 52 of file MCWinEH.h.

Referenced by llvm::MCStreamer::emitWinEHHandler().

◆ HandlesUnwind

bool llvm::WinEH::FrameInfo::HandlesUnwind = false

Definition at line 51 of file MCWinEH.h.

Referenced by llvm::MCStreamer::emitWinEHHandler().

◆ Instructions

std::vector<Instruction> llvm::WinEH::FrameInfo::Instructions

◆ LastFrameInst

int llvm::WinEH::FrameInfo::LastFrameInst = -1

Definition at line 56 of file MCWinEH.h.

Referenced by llvm::MCStreamer::emitWinCFISetFrame().

◆ PackedInfo

uint32_t llvm::WinEH::FrameInfo::PackedInfo = 0

Definition at line 48 of file MCWinEH.h.

◆ PrologCodeBytes

uint32_t llvm::WinEH::FrameInfo::PrologCodeBytes = 0

Definition at line 49 of file MCWinEH.h.

◆ PrologEnd

const MCSymbol* llvm::WinEH::FrameInfo::PrologEnd = nullptr

◆ Segments

std::vector<Segment> llvm::WinEH::FrameInfo::Segments

Definition at line 79 of file MCWinEH.h.

◆ Symbol

const MCSymbol* llvm::WinEH::FrameInfo::Symbol = nullptr

Definition at line 46 of file MCWinEH.h.

◆ TextSection

MCSection* llvm::WinEH::FrameInfo::TextSection = nullptr

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