UnwindOpcodes - Enumeration whose values specify a single operation in the prolog of a function.
Declared in <llvm/Support/Win64EH.h>
enum UnwindOpcodes;
| Name | Description |
|---|---|
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). |