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

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 2 18:09:54 PDT 2018


efriedma commandeered this revision.
efriedma added a reviewer: ssijaric.
efriedma added a comment.

Oh, I guess there is one special case for the prologue I didn't mention: varargs functions.  I think the patch handles that correctly already, but I'll add a test.

For both dynamic allocas and stack realignment, the initial implementation of unwinding missed a significant rule: "r29 must point to the bottom of stack".  That's probably straightforward to resolve, but I don't really want to do it in this patch (and I'm not sure what the practical effect is).  Beyond that, there's probably more handling necessary to correctly handle a dynamic alloca inside a funclet (since we need to reset the frame pointer, but we still need access to the old frame pointer). And I don't really want to block this patch on solving that; it's obscure enough that it won't affect most code.

I have a couple small fixes for stack realignment, a fix for a MachineVerifier failure, and a testcase for realignment; I'll upload a new version.


Repository:
  rL LLVM

https://reviews.llvm.org/D51524





More information about the llvm-commits mailing list