llvm::Win64EH::UnwindOpcodes

UnwindOpcodes - Enumeration whose values specify a single operation in the prolog of a function.

Synopsis

Declared in <llvm/Support/Win64EH.h>

enum UnwindOpcodes;

Members

NameDescription
UOP_PushNonVol Push a nonvolatile integer register.
UOP_AllocLarge Allocate a large-sized area on the stack.
UOP_AllocSmall Allocate a small-sized area on the stack.
UOP_SetFPReg Establish the frame pointer register.
UOP_SaveNonVol Save a nonvolatile integer register on the stack.
UOP_SaveNonVolBig Save a nonvolatile integer register with a large offset.
UOP_Epilog Describe an epilog region.
UOP_SpareCode Reserved spare opcode.
UOP_SaveXMM128 Save a 128-bit XMM register on the stack.
UOP_SaveXMM128Big Save a 128-bit XMM register with a large offset.
UOP_PushMachFrame Push a machine frame (interrupt/exception frame).
UOP_AllocMedium Allocate a medium-sized area on the stack (ARM64).
UOP_SaveR19R20X Save r19/r20 with pre-indexed addressing (ARM64).
UOP_SaveFPLRX Save FP/LR with pre-indexed addressing (ARM64).
UOP_SaveFPLR Save FP/LR on the stack (ARM64).
UOP_SaveReg Save a general-purpose register on the stack (ARM64).
UOP_SaveRegX Save a GPR with pre-indexed addressing (ARM64).
UOP_SaveRegP Save a pair of GPRs on the stack (ARM64).
UOP_SaveRegPX Save a pair of GPRs with pre-indexed addressing (ARM64).
UOP_SaveLRPair Save LR paired with another register (ARM64).
UOP_SaveFReg Save a floating-point register on the stack (ARM64).
UOP_SaveFRegX Save an FP register with pre-indexed addressing (ARM64).
UOP_SaveFRegP Save a pair of FP registers on the stack (ARM64).
UOP_SaveFRegPX Save a pair of FP registers with pre-indexed addressing (ARM64).
UOP_SetFP Set the frame pointer from SP (ARM64).
UOP_AddFP Add an offset to the frame pointer (ARM64).
UOP_Nop No operation; placeholder unwind code.
UOP_End End of the unwind code sequence.
UOP_SaveNext Save the next register in sequence (ARM64).
UOP_TrapFrame Indicate a trap/exception frame (ARM64).
UOP_Context Indicate a context record (ARM64).
UOP_ECContext Indicate an EC context record (ARM64).
UOP_ClearUnwoundToCall Clear the unwound-to-call state (ARM64).
UOP_PACSignLR PAC-sign the link register (ARM64).
UOP_SaveAnyRegI Save any integer register (ARM64).
UOP_SaveAnyRegIP Save any integer register paired (ARM64).
UOP_SaveAnyRegD Save any D-register (ARM64).
UOP_SaveAnyRegDP Save any D-register paired (ARM64).
UOP_SaveAnyRegQ Save any Q-register (ARM64).
UOP_SaveAnyRegQP Save any Q-register paired (ARM64).
UOP_SaveAnyRegIX Save any integer register with pre-index (ARM64).
UOP_SaveAnyRegIPX Save any integer register pair with pre-index (ARM64).
UOP_SaveAnyRegDX Save any D-register with pre-index (ARM64).
UOP_SaveAnyRegDPX Save any D-register pair with pre-index (ARM64).
UOP_SaveAnyRegQX Save any Q-register with pre-index (ARM64).
UOP_SaveAnyRegQPX Save any Q-register pair with pre-index (ARM64).
UOP_AllocZ Allocate Z-register save area (ARM64).
UOP_SaveZReg Save a Z-register (ARM64).
UOP_SavePReg Save a P-register (ARM64).
UOP_AllocHuge Allocate a huge-sized area on the stack (ARM).
UOP_WideAllocMedium Wide (32-bit) medium stack allocation (ARM).
UOP_WideAllocLarge Wide (32-bit) large stack allocation (ARM).
UOP_WideAllocHuge Wide (32-bit) huge stack allocation (ARM).
UOP_WideSaveRegMask Wide save of registers from a bitmask (ARM).
UOP_SaveSP Save the stack pointer (ARM).
UOP_SaveRegsR4R7LR Save r4-r7 and LR (ARM).
UOP_WideSaveRegsR4R11LR Wide save of r4-r11 and LR (ARM).
UOP_SaveFRegD8D15 Save floating-point registers d8-d15 (ARM).
UOP_SaveRegMask Save registers from a bitmask (ARM).
UOP_SaveLR Save the link register (ARM).
UOP_SaveFRegD0D15 Save floating-point registers d0-d15 (ARM).
UOP_SaveFRegD16D31 Save floating-point registers d16-d31 (ARM).
UOP_WideNop Wide (32-bit) no-operation placeholder (ARM).
UOP_EndNop End unwind codes with a narrow NOP (ARM).
UOP_WideEndNop End unwind codes with a wide NOP (ARM).
UOP_Custom Custom/implementation-defined unwind opcode sequence.
UOP_Push2 PUSH2 — two registers in one instruction (x86_64 V3).