13#ifndef LLVM_LIB_CODEGEN_ASMPRINTER_WIN64EXCEPTION_H
14#define LLVM_LIB_CODEGEN_ASMPRINTER_WIN64EXCEPTION_H
28 bool shouldEmitPersonality =
false;
31 bool shouldEmitLSDA =
false;
34 bool shouldEmitMoves =
false;
37 bool useImageRel32 =
false;
40 bool isAArch64 =
false;
49 MCSection *CurrentFuncletTextSection =
nullptr;
52 std::vector<const MCSymbol *> EHContTargets;
58 const MCSymbol *EndLabel,
int State);
71 void computeIP2StateTable(
77 void emitEHRegistrationOffsetLabel(
const WinEHFuncInfo &FuncInfo,
91 int getFrameIndexOffset(
int FrameIndex,
const WinEHFuncInfo &FuncInfo);
93 void endFuncletImpl();
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
#define LLVM_LIBRARY_VISIBILITY
static std::optional< int32_t > getOffset(ArrayRef< int32_t > Offsets, size_t Idx)
This class is intended to be used as a driving class for all asm writers.
EHStreamer(AsmPrinter *A)
Base class for the full range of assembler expressions which are needed for parsing.
Instances of this class represent a uniqued identifier for a section in the current translation unit.
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
StringRef - Represent a constant reference to a string, i.e.
LLVM Value Representation.
void endFunction(const MachineFunction *) override
Gather and emit post-function exception information.
void markFunctionEnd() override
void beginFunclet(const MachineBasicBlock &MBB, MCSymbol *Sym) override
Emit target-specific EH funclet machinery.
void endModule() override
Emit all exception information that should come after the content.
WinException(AsmPrinter *A)
void endFunclet() override
void beginFunction(const MachineFunction *MF) override
Gather pre-function exception information.
This is an optimization pass for GlobalISel generic memory operations.