Closed Quuxplusone closed 8 years ago
Attached intrinsics_arm64-41d346.sh
(11387 bytes, application/x-shellscript): shell script to trigger breakage (replace clang with TOT clang)
Attached constant_island_bug.tar.gz
(1012447 bytes, application/gzip): zipped version of .cpp and .sh
I replaced the clang binary path in the shell script with a ToT @ 251785, and
I'm unable to reproduce the crash:
- the shell script uses "-g", which is rejected by ToT "clang -cc1",
- removing the "-g" option, the preprocessed cpp file compiles just fine with a Release+Assert or Debug+Asssert compiler
I replace -g with -debug-info-kind=limited, and tried both Release+Asserts and
Debug+Asserts and still cannot reproduce the crash.
My LLVM is on r215867
I encounter this issue when compiling a proprietary code.
The code has a huge switch-case, and each case statement accesses a unique
constant (string literal).
What happens is after some CPE is moved to a lower address, the disp between
other users to their CPEs are enlarged. After 10 minutes compiling, it reached
the max iteration of 30.
Being worked on by Weiming: http://reviews.llvm.org/D16890
Attached test.ll.bz2
(75949 bytes, application/octet-stream): Test case
Attached constant-island2.ll
(89403 bytes, application/octet-stream): another test case
Fixed in 261665.
intrinsics_arm64-41d346.sh
(11387 bytes, application/x-shellscript)constant_island_bug.tar.gz
(1012447 bytes, application/gzip)test.ll.bz2
(75949 bytes, application/octet-stream)constant-island2.ll
(89403 bytes, application/octet-stream)