LLVM  8.0.1
Public Member Functions | Protected Member Functions | List of all members
llvm::WasmException Class Reference

#include "CodeGen/AsmPrinter/WasmException.h"

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

Public Member Functions

 WasmException (AsmPrinter *A)
 
void endModule () override
 Emit all sections that should come after the content. More...
 
void beginFunction (const MachineFunction *MF) override
 Gather pre-function debug information. More...
 
virtual void markFunctionEnd () override
 
void endFunction (const MachineFunction *MF) override
 Gather post-function debug information. 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 beginFragment (const MachineBasicBlock *MBB, ExceptionSymbolProvider ESP)
 
virtual void endFragment ()
 
virtual void beginFunclet (const MachineBasicBlock &MBB, MCSymbol *Sym=nullptr)
 Emit target-specific EH funclet machinery. More...
 
virtual void endFunclet ()
 

Protected Member Functions

void computeCallSiteTable (SmallVectorImpl< CallSiteEntry > &CallSites, const SmallVectorImpl< const LandingPadInfo *> &LandingPads, const SmallVectorImpl< unsigned > &FirstActions) override
 Compute the call-site table. More...
 
- 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)
 
MCSymbolemitExceptionTable ()
 Emit landing pads and actions. More...
 
virtual void emitTypeInfos (unsigned TTypeEncoding, MCSymbol *TTBaseLabel)
 

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 >
 
- 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::EHStreamer
AsmPrinterAsm
 Target of directive emission. More...
 
MachineModuleInfoMMI
 Collected machine module information. More...
 

Detailed Description

Definition at line 23 of file WasmException.h.

Constructor & Destructor Documentation

◆ WasmException()

llvm::WasmException::WasmException ( AsmPrinter A)
inline

Definition at line 25 of file WasmException.h.

Member Function Documentation

◆ beginFunction()

void llvm::WasmException::beginFunction ( const MachineFunction MF)
inlineoverridevirtual

Gather pre-function debug information.

Every beginFunction(MF) call should be followed by an endFunction(MF) call.

Implements llvm::AsmPrinterHandler.

Definition at line 28 of file WasmException.h.

◆ computeCallSiteTable()

void WasmException::computeCallSiteTable ( SmallVectorImpl< CallSiteEntry > &  CallSites,
const SmallVectorImpl< const LandingPadInfo *> &  LandingPads,
const SmallVectorImpl< unsigned > &  FirstActions 
)
overrideprotectedvirtual

Compute the call-site table.

The entry for an invoke has a try-range containing the call, a non-zero landing pad and an appropriate action. The entry for an ordinary call has a try-range containing the call and zero for the landing pad and the action. Calls marked 'nounwind' have no entry and must not be contained in the try-range of any entry - they form gaps in the table. Entries must be ordered by try-range address.

The entry for an invoke has a try-range containing the call, a non-zero landing pad, and an appropriate action. The entry for an ordinary call has a try-range containing the call and zero for the landing pad and the action. Calls marked 'nounwind' have no entry and must not be contained in the try-range of any entry - they form gaps in the table. Entries must be ordered by try-range address.

Reimplemented from llvm::EHStreamer.

Definition at line 78 of file WasmException.cpp.

References llvm::EHStreamer::Asm, llvm::MachineFunction::getWasmLandingPadIndex(), llvm::MachineFunction::hasWasmLandingPadIndex(), I, Info, llvm::LandingPadInfo::LandingPadBlock, llvm::AsmPrinter::MF, N, llvm::SmallVectorImpl< T >::resize(), and llvm::SmallVectorBase::size().

◆ endFunction()

void WasmException::endFunction ( const MachineFunction MF)
overridevirtual

◆ endModule()

void WasmException::endModule ( )
overridevirtual

◆ markFunctionEnd()

void WasmException::markFunctionEnd ( )
overridevirtual

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