9#ifndef LLVM_MC_MCWINEH_H
10#define LLVM_MC_MCWINEH_H
93 if (!
E.second.Instructions.empty())
106 bool HandlerData)
const = 0;
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
This file implements a map that provides insertion order iteration.
This class represents an Operation in the Expression.
Instances of this class represent a uniqued identifier for a section in the current translation unit.
Streaming machine code generation interface.
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
This class implements a map that also provides access to all stored values in a deterministic order.
Wrapper class representing virtual and physical registers.
virtual void Emit(MCStreamer &Streamer) const =0
This emits the unwind info sections (.pdata and .xdata in PE/COFF).
virtual void EmitUnwindInfo(MCStreamer &Streamer, FrameInfo *FI, bool HandlerData) const =0
This is an optimization pass for GlobalISel generic memory operations.
@ WinEH
Windows Exception Handling.
std::vector< Instruction > Instructions
Segment(int64_t Offset, int64_t Length, bool HasProlog=false)
MapVector< MCSymbol *, int64_t > Epilogs
std::vector< Instruction > Instructions
std::vector< Segment > Segments
const MCSymbol * PrologEnd
MapVector< MCSymbol *, Epilog > EpilogMap
const MCSymbol * FuncletOrFuncEnd
const FrameInfo * ChainedParent
FrameInfo(const MCSymbol *Function, const MCSymbol *BeginFuncEHLabel)
FrameInfo(const MCSymbol *Function, const MCSymbol *BeginFuncEHLabel, const FrameInfo *ChainedParent)
const MCSymbol * ExceptionHandler
Instruction(unsigned Op, MCSymbol *L, unsigned Reg, unsigned Off)
bool operator==(const Instruction &I) const
bool operator!=(const Instruction &I) const