[PATCH] D135101: [AArch64] Add missing SEH_Nop when aligning the stack

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 4 11:39:14 PDT 2022


efriedma accepted this revision.
efriedma added a comment.
This revision is now accepted and ready to land.

LGTM



================
Comment at: llvm/test/CodeGen/AArch64/wineh-align-stack.ll:23
+; CHECK-NEXT: and sp, x9, #0xffffffffffffffe0
+; CHECK-NEXT: .seh_stackalloc 80
+; CHECK-NEXT: .seh_endprologue
----------------
mstorsjo wrote:
> efriedma wrote:
> > The prologue should end after the set_set_fp; it makes no sense to try to represent the "and" in the SEH unwind tables.  (I thought we discussed this before at some point, but maybe I'm confusing it with something else...)
> Yes, we discussed that for the ARM implementation of SEH, and I changed it that way there in the end.
> 
> For AArch64, the SEH prologue currently includes all of the realigning; I agree that it would be more correct to omit that from the prologue entirely. The AArch64 SEH insertion is a bit more annoying to fix though, as it currently adds all these individual SEH opcodes along with the prologue instructions, while the ARM implementation adds SEH opcodes for all instructions in a range in an MBB later, making it easier to include or leave out parts of it.
> 
> So for this case, I mostly wanted to fix mismatches to make D131394 work - I'd prefer to leave out this (trimming out unnecessary parts of the prologue in these cases) as a task up for grabs for someone else.
Please leave a FIXME in the testcase, for whoever is updating it in the future.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D135101/new/

https://reviews.llvm.org/D135101



More information about the llvm-commits mailing list