LLVM
15.0.0git
|
#include "CodeGen/AsmPrinter/DwarfException.h"
Public Member Functions | |
ARMException (AsmPrinter *A) | |
~ARMException () override | |
void | endModule () override |
Emit all exception information that should come after the content. More... | |
void | beginFunction (const MachineFunction *MF) override |
Gather pre-function exception information. More... | |
void | endFunction (const MachineFunction *) override |
Gather and emit post-function exception information. More... | |
![]() | |
EHStreamer (AsmPrinter *A) | |
~EHStreamer () override | |
void | setSymbolSize (const MCSymbol *Sym, uint64_t Size) override |
For symbols that have a size designated (e.g. More... | |
void | beginInstruction (const MachineInstr *MI) override |
Process beginning of an instruction. More... | |
void | endInstruction () override |
Process end of an instruction. More... | |
![]() | |
virtual | ~AsmPrinterHandler () |
Pin vtable to this file. More... | |
virtual void | beginModule (Module *M) |
virtual void | beginFragment (const MachineBasicBlock *MBB, ExceptionSymbolProvider ESP) |
virtual void | beginFunclet (const MachineBasicBlock &MBB, MCSymbol *Sym=nullptr) |
Emit target-specific EH funclet machinery. More... | |
virtual void | endFunclet () |
virtual void | beginBasicBlock (const MachineBasicBlock &MBB) |
Process beginning of a basic block during basic block sections. More... | |
virtual void | endBasicBlock (const MachineBasicBlock &MBB) |
Process end of a basic block during basic block sections. More... | |
Additional Inherited Members | |
![]() | |
static bool | callToNoUnwindFunction (const MachineInstr *MI) |
Return ‘true’ if this is a call to a function marked ‘nounwind’. More... | |
![]() | |
using | RangeMapType = DenseMap< MCSymbol *, PadRange > |
![]() | |
DwarfCFIExceptionBase (AsmPrinter *A) | |
void | markFunctionEnd () override |
void | endFragment () override |
![]() | |
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. More... | |
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. More... | |
MCSymbol * | emitExceptionTable () |
Emit landing pads and actions. More... | |
![]() | |
static unsigned | sharedTypeIDs (const LandingPadInfo *L, const LandingPadInfo *R) |
How many leading type ids two landing pads have in common. More... | |
static bool | isFilterEHSelector (int Selector) |
static bool | isCleanupEHSelector (int Selector) |
static bool | isCatchEHSelector (int Selector) |
![]() | |
bool | shouldEmitCFI = false |
Per-function flag to indicate if frame CFI info should be emitted. More... | |
bool | hasEmittedCFISections = false |
Per-module flag to indicate if .cfi_section has beeen emitted. More... | |
![]() | |
AsmPrinter * | Asm |
Target of directive emission. More... | |
MachineModuleInfo * | MMI |
Collected machine module information. More... | |
Definition at line 71 of file DwarfException.h.
ARMException::ARMException | ( | AsmPrinter * | A | ) |
Definition at line 22 of file ARMException.cpp.
|
overridedefault |
|
overridevirtual |
Gather pre-function exception information.
Assumes being emitted immediately after the function entry point.
Implements llvm::AsmPrinterHandler.
Definition at line 31 of file ARMException.cpp.
References llvm::ARM, llvm::EHStreamer::Asm, assert(), llvm::AsmPrinter::Debug, llvm::AsmPrinter::EH, llvm::ARMTargetStreamer::emitFnStart(), llvm::MCAsmInfo::getExceptionHandlingType(), llvm::AsmPrinter::getFunctionCFISectionType(), llvm::AsmPrinter::getModuleCFISectionType(), llvm::DwarfCFIExceptionBase::hasEmittedCFISections, llvm::AsmPrinter::MAI, llvm::AsmPrinter::OutStreamer, and llvm::DwarfCFIExceptionBase::shouldEmitCFI.
|
overridevirtual |
Gather and emit post-function exception information.
endFunction - Gather and emit post-function exception information.
Implements llvm::AsmPrinterHandler.
Definition at line 53 of file ARMException.cpp.
References llvm::ARM, llvm::EHStreamer::Asm, llvm::classifyEHPersonality(), llvm::ARMTargetStreamer::emitCantUnwind(), llvm::EHStreamer::emitExceptionTable(), llvm::ARMTargetStreamer::emitFnEnd(), llvm::ARMTargetStreamer::emitHandlerData(), llvm::ARMTargetStreamer::emitPersonality(), F, llvm::MCAsmInfo::getExceptionHandlingType(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getLandingPads(), llvm::AsmPrinter::getSymbol(), llvm::isNoOpWithoutInvoke(), llvm::AsmPrinter::MAI, llvm::AsmPrinter::MF, and llvm::Function::needsUnwindTableEntry().
|
inlineoverridevirtual |
Emit all exception information that should come after the content.
Implements llvm::AsmPrinterHandler.
Definition at line 83 of file DwarfException.h.