[PATCH] D50166: [ARM64] [Windows] MCLayer support for exception handling

Sanjin Sijaric via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 23 12:57:03 PDT 2018


ssijaric added inline comments.


================
Comment at: test/CodeGen/AArch64/wineh5.mir:164
+    frame-setup SEH_SaveFPLR 16
+    frame-setup SEH_PrologEnd
+    $x15 = frame-setup MOVi64imm 187081
----------------
efriedma wrote:
> It looks like the SEH_StackAlloc is after the PrologEnd here; is that supposed to be valid?  If not, can we report_fatal_error on MIR which does that?
> 
> Even ignoring that, the opcode sequence here is clearly wrong; you aren't allowed to call another function in the prolog.  (From the unwinder's point of view, __chkstk is dynamic allocation, like alloca.)  I guess you generated this using clang; that indicates a bug in the frame lowering patch, not this patch.  But it would be nice to have valid testcases anyway.
Yes, this is wrong.  Cannot come after PrologueEnd.  I was doing some experiments with the frame lowering patch and the stack probe, which I clearly got wrong.  I will check what cl.exe does.


Repository:
  rL LLVM

https://reviews.llvm.org/D50166





More information about the llvm-commits mailing list