[PATCH] D51524: [ARM64] [Windows] Handle funclets
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 2 14:55:48 PDT 2018
efriedma added a comment.
This patch forces all functions that contain funclets to emit a frame pointer. (The existing testcase covers that.)
I'll do some testing with realignment and dynamic allocas. I don't think AArch64 prologue lowering has any other special cases.
================
Comment at: lib/Target/AArch64/AArch64FrameLowering.cpp:829-831
+ // pointer from the funclet. We only save the callee saved registers in the
+ // funclet, which are really the callee saved registers of the parent
+ // function, including the funclet.
----------------
rnk wrote:
> We had bugs here with XMM registers, which I don't think we fixed: https://llvm.org/pr32507
>
> How does the AArch64 prologue/epilogue save and restore registers? If you load/store to a fixed frame index stack object, it's not going to work well. If it does something analogous to x86 "PUSH" instructions, it'll work fine.
Spills of callee-saved registers should always use sp-relative loads/stores, as far as I know.
Repository:
rL LLVM
https://reviews.llvm.org/D51524
More information about the llvm-commits
mailing list