llvm-project
6f64a600 - [AArch64] Initial compiler support for SVE unwind on Windows. (#138609)

Commit
120 days ago
[AArch64] Initial compiler support for SVE unwind on Windows. (#138609) Most bits of this are straightforward: when we emit SVE instructions in the prologue/epilogue, emit corresponding opcodes. The unfortunately nasty bit is the handling of the frame pointer in functions that use the SVE calling convention. If we have SVE callee saves, and need to restore the stack pointer from the frame pointer, it's impossible to encode callee saves that happen after the frame pointer. So this patch rearranges the stack to put SVE callee saves first. This isn't really that complicated on its own, but it leads to a lot of tricky conditionals (see FPAfterSVECalleeSaves).
Author
Parents
Loading