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