LLVM  12.0.0git
Public Member Functions | List of all members
llvm::DwarfCFIException Class Reference

#include "CodeGen/AsmPrinter/DwarfException.h"

Inheritance diagram for llvm::DwarfCFIException:
Inheritance graph
[legend]
Collaboration diagram for llvm::DwarfCFIException:
Collaboration graph
[legend]

Public Member Functions

 DwarfCFIException (AsmPrinter *A)
 
 ~DwarfCFIException () 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...
 
void beginFragment (const MachineBasicBlock *MBB, ExceptionSymbolProvider ESP) override
 
void beginBasicBlock (const MachineBasicBlock &MBB) override
 Process beginning of a basic block during basic block sections. More...
 
void endBasicBlock (const MachineBasicBlock &MBB) override
 Process end of a basic block during basic block sections. More...
 
- Public Member Functions inherited from llvm::EHStreamer
 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...
 
- Public Member Functions inherited from llvm::AsmPrinterHandler
virtual ~AsmPrinterHandler ()
 Pin vtable to this file. More...
 
virtual void beginModule (Module *M)
 
virtual void beginFunclet (const MachineBasicBlock &MBB, MCSymbol *Sym=nullptr)
 Emit target-specific EH funclet machinery. More...
 
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’. More...
 
- Protected Types inherited from llvm::EHStreamer
using RangeMapType = DenseMap< MCSymbol *, PadRange >
 
- Protected Member Functions inherited from llvm::DwarfCFIExceptionBase
 DwarfCFIExceptionBase (AsmPrinter *A)
 
void markFunctionEnd () override
 
void endFragment () override
 
- 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. 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...
 
MCSymbolemitExceptionTable ()
 Emit landing pads and actions. More...
 
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. More...
 
static bool isFilterEHSelector (int Selector)
 
static bool isCleanupEHSelector (int Selector)
 
static bool isCatchEHSelector (int Selector)
 
- Protected Attributes inherited from llvm::DwarfCFIExceptionBase
bool shouldEmitCFI
 Per-function flag to indicate if frame CFI info should be emitted. More...
 
bool hasEmittedCFISections
 Per-module flag to indicate if .cfi_section has beeen emitted. More...
 
- Protected Attributes inherited from llvm::EHStreamer
AsmPrinterAsm
 Target of directive emission. More...
 
MachineModuleInfoMMI
 Collected machine module information. More...
 

Detailed Description

Definition at line 37 of file DwarfException.h.

Constructor & Destructor Documentation

◆ DwarfCFIException()

DwarfCFIException::DwarfCFIException ( AsmPrinter A)

Definition at line 54 of file DwarfCFIException.cpp.

◆ ~DwarfCFIException()

DwarfCFIException::~DwarfCFIException ( )
override

Definition at line 59 of file DwarfCFIException.cpp.

Member Function Documentation

◆ beginBasicBlock()

void DwarfCFIException::beginBasicBlock ( const MachineBasicBlock MBB)
overridevirtual

Process beginning of a basic block during basic block sections.

Reimplemented from llvm::AsmPrinterHandler.

Definition at line 177 of file DwarfCFIException.cpp.

References beginFragment(), getExceptionSym(), and MBB.

◆ beginFragment()

void DwarfCFIException::beginFragment ( const MachineBasicBlock MBB,
ExceptionSymbolProvider  ESP 
)
overridevirtual

◆ beginFunction()

void DwarfCFIException::beginFunction ( const MachineFunction MF)
overridevirtual

◆ endBasicBlock()

void DwarfCFIException::endBasicBlock ( const MachineBasicBlock MBB)
overridevirtual

Process end of a basic block during basic block sections.

Reimplemented from llvm::AsmPrinterHandler.

Definition at line 181 of file DwarfCFIException.cpp.

References llvm::EHStreamer::Asm, llvm::AsmPrinter::OutStreamer, and llvm::DwarfCFIExceptionBase::shouldEmitCFI.

◆ 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 170 of file DwarfCFIException.cpp.

References llvm::EHStreamer::emitExceptionTable().

◆ endModule()

void DwarfCFIException::endModule ( )
overridevirtual

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