[PATCH] D77015: Fix mismatch in prologue and epilogue for funclets on AArch64 Windows

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Mar 29 12:18:00 PDT 2020


efriedma added a comment.

If I'm understanding correctly, the space that wasn't getting allocated in the prologue is the space for arguments to calls inside the funclet?



================
Comment at: llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:1038
+    if (isAsynchronousEHPersonality(Per)) {
+      BuildMI(MBB, MBBI, DL, TII->get(TargetOpcode::COPY), AArch64::FP)
+          .addReg(AArch64::X1)
----------------
I think this COPY still needs to happen after the SEH_PrologEnd, or else we need to emit an SEH opcode for it.  Otherwise, the SEH opcodes won't match the instructions.  (The mismatch probably doesn't have many visible side-effects here, but still.)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D77015





More information about the llvm-commits mailing list