LLVM: llvm::WasmException Class Reference (original) (raw)
#include "[CodeGen/AsmPrinter/WasmException.h](WasmException%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| WasmException (AsmPrinter *A) | |
| void | endModule () override |
| Emit all sections that should come after the content. | |
| void | beginFunction (const MachineFunction *MF) override |
| Gather pre-function debug information. | |
| void | endFunction (const MachineFunction *MF) override |
| Gather post-function debug information. | |
| 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 | beginBasicBlockSection (const MachineBasicBlock &MBB) |
| Process the beginning of a new basic-block-section within a function. | |
| virtual void | endBasicBlockSection (const MachineBasicBlock &MBB) |
| Process the end of a basic-block-section within a function. | |
| 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 () |
| Protected Member Functions | |
|---|---|
| void | computeCallSiteTable (SmallVectorImpl< CallSiteEntry > &CallSites, SmallVectorImpl< CallSiteRange > &CallSiteRanges, const SmallVectorImpl< const LandingPadInfo * > &LandingPads, const SmallVectorImpl< unsigned > &FirstActions) override |
| Compute the call-site table and the call-site ranges. | |
| 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) |
| MCSymbol * | emitExceptionTable () |
| Emit landing pads and actions. | |
| 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’. | |
| 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. | |
| 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 25 of file WasmException.h.
| llvm::WasmException::WasmException ( AsmPrinter * A) | inline |
|---|
◆ beginFunction()
◆ computeCallSiteTable()
Compute the call-site table and the call-site ranges.
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. CallSiteRanges vector is only populated for Itanium exception handling.
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.
Call-sites are split into one or more call-site ranges associated with different sections of the function.
- Without -basic-block-sections, all call-sites are grouped into one call-site-range corresponding to the function section.
- With -basic-block-sections, one call-site range is created for each section, with its FragmentBeginLabel and FragmentEndLabel respectively
Reimplemented from llvm::EHStreamer.
Definition at line 55 of file WasmException.cpp.
References llvm::EHStreamer::Asm, llvm::MachineFunction::getWasmLandingPadIndex(), llvm::MachineFunction::hasWasmLandingPadIndex(), I, N, llvm::SmallVectorImpl< T >::resize(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
◆ endFunction()
◆ endModule()
| void llvm::WasmException::endModule ( ) | inlineoverridevirtual |
|---|
The documentation for this class was generated from the following files:
- lib/CodeGen/AsmPrinter/WasmException.h
- lib/CodeGen/AsmPrinter/WasmException.cpp