llvm::Win64EH

Helpers for encoding Windows x64, ARM, and ARM64 unwind information.

Types

NameDescription
ARM64UnwindEmitter Emits Windows ARM64 unwind info sections (.pdata and .xdata).
ARMUnwindEmitter Emits Windows ARM unwind info sections (.pdata and .xdata).
DecodedEpilogV3 Decoded V3 epilog descriptor.
DecodedUnwindInfoV3 Decoded V3 UNWIND_INFO.
DecodedWOD Decoded V3 Winding Operation Descriptor.
Instruction Factory helpers that build WinEH::Instruction opcodes for Win64 unwind.
RuntimeFunction RuntimeFunction - An entry in the table of functions with unwind info.
UnwindCode UnwindCode - This union describes a single operation in a function prolog, or part thereof.
UnwindEmitter Emits Windows x64 unwind info sections (.pdata and .xdata).
UnwindInfo UnwindInfo - An entry in the exception table.

Enums

NameDescription
Unnamed enum Flags stored in the VersionAndFlags field of UnwindInfo.
EpilogInfoFlagsV3 V3 EPILOG_INFO flags.
UnwindOpcodes UnwindOpcodes - Enumeration whose values specify a single operation in the prolog of a function.
WODOpcode V3 Winding Operation Descriptor opcodes.

Functions

NameDescription
EncodeWOD Encode a single WinEH::Instruction as V3 WOD bytes.
decodeUnwindInfoV3 Parse a V3 UNWIND_INFO from raw bytes. Returns an error on malformed data.
decodeWOD Decode one WOD from the pool at the given byte offset. Returns an error on malformed data.
getRegisterNameV3 Return the register name for a 5-bit AMD64 integer register number. Covers 0-15 (RAX-R15) and 16-31 (R16-R31 for APX).