llvm-project
12cfc4dc - [X86][APX] Implement Windows APX ABI callee-saved registers per Microsoft spec (#200391)

Commit
24 days ago
[X86][APX] Implement Windows APX ABI callee-saved registers per Microsoft spec (#200391) Per the Microsoft x64 calling convention, R30 and R31 are non-volatile when APX is available. Define CSR_Win64_APX and CSR_Win64_APX_NoSSE extending the standard Win64 CSR sets. Update getCalleeSavedRegs and getCallPreservedMask accordingly. Reserve R30/R31 in functions that call setjmp, as the unwinder cannot restore APX extended registers. Emit a warning for large functions where this may impact performance. Ref: https://learn.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170#callercallee-saved-registers --------- Co-authored-by: Daniel Paoliello <danpao@microsoft.com>
Author
Parents
Loading