[PATCH] D51524: [ARM64] [Windows] Handle funclets

Sanjin Sijaric via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 6 03:23:23 PST 2018


ssijaric added inline comments.


================
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.
----------------
efriedma wrote:
> 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.
They should always be saved off the funclet's SP pointer.  This is what cl does, if I remember correctly.


Repository:
  rL LLVM

https://reviews.llvm.org/D51524





More information about the llvm-commits mailing list