https://bugs.llvm.org/show_bug.cgi?id=45345

            Bug ID: 45345
           Summary: Bad codegen: funclet Prologue and Epilogue do not
                    agree on frame size.
           Product: libraries
           Version: 9.0
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: AArch64
          Assignee: unassignedb...@nondot.org
          Reporter: daniel.framp...@microsoft.com
                CC: arnaud.degrandmai...@arm.com,
                    llvm-bugs@lists.llvm.org, smithp...@googlemail.com,
                    ties.st...@arm.com

Created attachment 23288
  --> https://bugs.llvm.org/attachment.cgi?id=23288&action=edit
Program that will crash if compiled and run on aarch64-pc-windows-msvc

The generated code for a funclet can have an add to sp in the epilogue for
which there is no corresponding sub in the prologue.

To trigger this case we must be generating a funclet and:

1) The function must make a call where arguments are passed on the stack (these
are the extra bytes the epilog adds).

2) We must not be able to combine the stack adjustment into a single sub to sp
when saving callee-save registers, which will happen if we have an aligned
object or are using alloca.

Attaching simple C++ repro.

Bug exists in both LLVM9 and master.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to