LLVM 22.0.0git
llvm::DwarfCFIException Class Reference

#include "CodeGen/AsmPrinter/DwarfException.h"

Inheritance diagram for llvm::DwarfCFIException:
[legend]

Public Member Functions

 DwarfCFIException (AsmPrinter *A)
 ~DwarfCFIException () override
void endModule () override
 Emit all exception information that should come after the content.
void beginFunction (const MachineFunction *MF) override
 Gather pre-function exception information.
void endFunction (const MachineFunction *) override
 Gather and emit post-function exception information.
void beginBasicBlockSection (const MachineBasicBlock &MBB) override
 Process the beginning of a new basic-block-section within a function.
void endBasicBlockSection (const MachineBasicBlock &MBB) override
 Process the end of a basic-block-section within a function.
Public Member Functions inherited from llvm::EHStreamer
 EHStreamer (AsmPrinter *A)
 ~EHStreamer () override
Public Member Functions inherited from llvm::AsmPrinterHandler
virtual ~AsmPrinterHandler ()
 Pin vtables to this file.
virtual void beginModule (Module *M)
virtual void markFunctionEnd ()
virtual void setSymbolSize (const MCSymbol *Sym, uint64_t Size)
 For symbols that have a size designated (e.g.
virtual void beginInstruction (const MachineInstr *MI)
 Process beginning of an instruction.
virtual void endInstruction ()
 Process end of an instruction.
virtual void beginCodeAlignment (const MachineBasicBlock &MBB)
virtual void beginFunclet (const MachineBasicBlock &MBB, MCSymbol *Sym=nullptr)
 Emit target-specific EH funclet machinery.
virtual void endFunclet ()

Additional Inherited Members

Static Public Member Functions inherited from llvm::EHStreamer
static bool callToNoUnwindFunction (const MachineInstr *MI)
 Return ‘true’ if this is a call to a function marked ‘nounwind’.
Protected Types inherited from llvm::EHStreamer
using RangeMapType = DenseMap<MCSymbol *, PadRange>
Protected Member Functions inherited from llvm::EHStreamer
void computeActionsTable (const SmallVectorImpl< const LandingPadInfo * > &LandingPads, SmallVectorImpl< ActionEntry > &Actions, SmallVectorImpl< unsigned > &FirstActions)
 Compute the actions table and gather the first action index for each landing pad site.
void computePadMap (const SmallVectorImpl< const LandingPadInfo * > &LandingPads, RangeMapType &PadMap)
virtual void computeCallSiteTable (SmallVectorImpl< CallSiteEntry > &CallSites, SmallVectorImpl< CallSiteRange > &CallSiteRanges, const SmallVectorImpl< const LandingPadInfo * > &LandingPads, const SmallVectorImpl< unsigned > &FirstActions)
 Compute the call-site table and the call-site ranges.
MCSymbolemitExceptionTable ()
 Emit landing pads and actions.
virtual void emitTypeInfos (unsigned TTypeEncoding, MCSymbol *TTBaseLabel)
Static Protected Member Functions inherited from llvm::EHStreamer
static unsigned sharedTypeIDs (const LandingPadInfo *L, const LandingPadInfo *R)
 How many leading type ids two landing pads have in common.
static bool isFilterEHSelector (int Selector)
static bool isCleanupEHSelector (int Selector)
static bool isCatchEHSelector (int Selector)
Protected Attributes inherited from llvm::EHStreamer
AsmPrinterAsm
 Target of directive emission.
MachineModuleInfoMMI
 Collected machine module information.

Detailed Description

Definition at line 24 of file DwarfException.h.

Constructor & Destructor Documentation

◆ DwarfCFIException()

DwarfCFIException::DwarfCFIException ( AsmPrinter * A)

Definition at line 27 of file DwarfCFIException.cpp.

References A(), and llvm::EHStreamer::EHStreamer().

◆ ~DwarfCFIException()

DwarfCFIException::~DwarfCFIException ( )
overridedefault

Member Function Documentation

◆ beginBasicBlockSection()

void DwarfCFIException::beginBasicBlockSection ( const MachineBasicBlock & MBB)
overridevirtual

Process the beginning of a new basic-block-section within a function.

Always called immediately after beginFunction for the first basic-block. When basic-block-sections are enabled, called before the first block of each such section.

Reimplemented from llvm::AsmPrinterHandler.

Definition at line 102 of file DwarfCFIException.cpp.

References llvm::EHStreamer::Asm, assert(), llvm::AsmPrinter::Debug, llvm::dyn_cast(), llvm::AsmPrinter::EH, F, llvm::TargetLoweringObjectFile::getCFIPersonalitySymbol(), llvm::TargetLoweringObjectFile::getLSDAEncoding(), llvm::TargetLoweringObjectFile::getPersonalityEncoding(), MBB, llvm::EHStreamer::MMI, and P.

Referenced by ~DwarfCFIException().

◆ beginFunction()

◆ endBasicBlockSection()

void DwarfCFIException::endBasicBlockSection ( const MachineBasicBlock & MBB)
overridevirtual

Process the end of a basic-block-section within a function.

When basic-block-sections are enabled, called after the last block in each such section (including the last section in the function). When basic-block-sections are disabled, called at the end of a function, immediately prior to markFunctionEnd.

Reimplemented from llvm::AsmPrinterHandler.

Definition at line 143 of file DwarfCFIException.cpp.

References llvm::EHStreamer::Asm, and MBB.

Referenced by ~DwarfCFIException().

◆ endFunction()

void DwarfCFIException::endFunction ( const MachineFunction * MF)
overridevirtual

Gather and emit post-function exception information.

endFunction - Gather and emit post-function exception information.

Implements llvm::AsmPrinterHandler.

Definition at line 150 of file DwarfCFIException.cpp.

References llvm::EHStreamer::emitExceptionTable().

Referenced by ~DwarfCFIException().

◆ endModule()

void DwarfCFIException::endModule ( )
overridevirtual

Emit all exception information that should come after the content.

endModule - Emit all exception information that should come after the content.

Implements llvm::AsmPrinterHandler.

Definition at line 38 of file DwarfCFIException.cpp.

References llvm::EHStreamer::Asm, llvm::dwarf::DW_EH_PE_indirect, llvm::TargetLoweringObjectFile::emitPersonalityValue(), and llvm::TargetLoweringObjectFile::getPersonalityEncoding().

Referenced by ~DwarfCFIException().


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