LLVM: llvm::DwarfCFIException Class Reference (original) (raw)

#include "[CodeGen/AsmPrinter/DwarfException.h](DwarfException%5F8h%5Fsource.html)"

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.
MCSymbol * emitExceptionTable ()
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
AsmPrinter * Asm
Target of directive emission.
MachineModuleInfo * MMI
Collected machine module information.

Definition at line 24 of file DwarfException.h.

DwarfCFIException::DwarfCFIException ( AsmPrinter * A )

~DwarfCFIException()

DwarfCFIException::~DwarfCFIException ( ) overridedefault

beginBasicBlockSection()

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()

Gather pre-function exception information.

Assumes being emitted immediately after the function entry point.

Implements llvm::AsmPrinterHandler.

Definition at line 59 of file DwarfCFIException.cpp.

References llvm::EHStreamer::Asm, llvm::classifyEHPersonality(), llvm::dwarf::DW_EH_PE_omit, llvm::dyn_cast(), F, llvm::MCContext::getAsmInfo(), llvm::MachineFunction::getContext(), llvm::MCAsmInfo::getExceptionHandlingType(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getLandingPads(), llvm::TargetLoweringObjectFile::getLSDAEncoding(), llvm::TargetLoweringObjectFile::getPersonalityEncoding(), llvm::isNoOpWithoutInvoke(), llvm::AsmPrinter::None, llvm::None, and llvm::MCAsmInfo::usesCFIForEH().

Referenced by ~DwarfCFIException().

endBasicBlockSection()

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()

endModule()

void DwarfCFIException::endModule ( ) overridevirtual

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