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

            Bug ID: 44271
           Summary: Assertion failure (Windows on Arm):
                    assert((!RPI.isPaired() || !NeedsFrameRecord ||
                    RPI.Reg2 != AArch64::FP || RPI.Reg1 == AArch64::LR) &&
                    "FrameRecord mst be allocated together with LR")
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: C++
          Assignee: unassignedclangb...@nondot.org
          Reporter: richard.towns...@arm.com
                CC: blitzrak...@gmail.com, dgre...@apple.com,
                    erik.pilking...@gmail.com, llvm-bugs@lists.llvm.org,
                    richard-l...@metafoo.co.uk

Created attachment 22932
  --> https://bugs.llvm.org/attachment.cgi?id=22932&action=edit
Reproducer

When running the attached reproducer with this command line:

   "clang-cl" "-cc1" "-triple" "arm64-unknown-windows-msvc19.16.0" "-emit-obj"
"-mframe-pointer=all" "-D_MT" "-flto-visibility-public-std"
"--dependent-lib=libcmt" "--dependent-lib=oldnames" "--show-includes"
"-fno-rtti-data" "-stack-protector" "2" "-nostdsysteminc" "-D"
"UCHAR_TYPE=wchar_t" "-D" "__DATE__=" "-D" "__TIME__=" "-D" "__TIMESTAMP__="
"-Os" "-Wno-builtin-macro-redefined" "-fms-extensions" "-std=c++14" "-x" "c++"
"reduce.cpp"

We get an assertion failure in computeCalleeSaveRegisterPairs
(AArch64FrameLowering.cpp). This reproducer is based on a region of the
Chromium code base (lzma_util.cc). The issue appears to come from the fact that
the compiler's trying pair X19 with X29/FP, which doesn't meet the assertion's
conditions.

-- 
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