14 #ifndef LLVM_LIB_CODEGEN_ASMPRINTER_EHSTREAMER_H
15 #define LLVM_LIB_CODEGEN_ASMPRINTER_EHSTREAMER_H
21 struct LandingPadInfo;
22 class MachineModuleInfo;
24 class MachineFunction;
26 class MCSymbolRefExpr;
29 class SmallVectorImpl;
110 void emitExceptionTable();
112 virtual void emitTypeInfos(
unsigned TTypeEncoding);
Structure describing an entry in the call-site table.
DenseMap< MCSymbol *, PadRange > RangeMapType
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
void setSymbolSize(const MCSymbol *Sym, uint64_t Size) override
For symbols that have a size designated (e.g.
Collects and handles AsmPrinter objects required to build debug or EH information.
Structure describing an entry in the actions table.
static bool isFilterEHSelector(int Selector)
const LandingPadInfo * LPad
MachineModuleInfo * MMI
Collected machine module information.
Emits exception handling directives.
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
This structure is used to retain landing pad info for the current function.
void beginInstruction(const MachineInstr *MI) override
Process beginning of an instruction.
static bool isCatchEHSelector(int Selector)
static bool isCleanupEHSelector(int Selector)
This class is intended to be used as a driving class for all asm writers.
#define LLVM_LIBRARY_VISIBILITY
LLVM_LIBRARY_VISIBILITY - If a class marked with this attribute is linked into a shared library...
AsmPrinter * Asm
Target of directive emission.
void endInstruction() override
Process end of an instruction.
Representation of each machine instruction.
static GCRegistry::Add< ErlangGC > A("erlang","erlang-compatible garbage collector")
Structure holding a try-range and the associated landing pad.
This class contains meta information specific to a module.