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;
27 class MCSymbolRefExpr;
30 class SmallVectorImpl;
115 void emitExceptionTable();
117 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...
LandingPadInfo - 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.
Structure holding a try-range and the associated landing pad.
MachineModuleInfo - This class contains meta information specific to a module.