-
Notifications
You must be signed in to change notification settings - Fork 11.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Assertion failed in function processTiedPairs #39643
Labels
bugzilla
Issues migrated from bugzilla
confirmed
Verified by a second party
llvm:crash
llvm:optimizations
Comments
Still an issue, see #54957 |
Still crashing as of post-17 trunk: https://godbolt.org/z/95nKTbGvd
Unreduced test case (composed manually based on creation date): https://godbolt.org/z/66Y1eovK6
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
bugzilla
Issues migrated from bugzilla
confirmed
Verified by a second party
llvm:crash
llvm:optimizations
Extended Description
Hello, I'm getting an assertion failure building this project [1] on FreeBSD 13 using clang 7.0.1:
$ cc -Daws_checksums_EXPORTS -I/usr/ports/devel/aws-checksums/work/aws-checksums-0.1.2/include -I/usr/ports/devel/aws-checksums/work/aws-checksums-0.1.2/tests -O2 -pipe -fstack-protector -fno-strict-aliasing -O2 -pipe -fstack-protector -fno-strict-aliasing -fPIC -fPIC -std=gnu99 -MD -MT CMakeFiles/aws-checksums.dir/source/intel/crc32c_sse42_asm.c.o -MF CMakeFiles/aws-checksums.dir/source/intel/crc32c_sse42_asm.c.o.d -o CMakeFiles/aws-checksums.dir/source/intel/crc32c_sse42_asm.c.o -c /usr/ports/devel/aws-checksums/work/aws-checksums-0.1.2/source/intel/crc32c_sse42_asm.c -O3
Assertion failed: (i == DstIdx || !MI->getOperand(i).isReg() || MI->getOperand(i).getReg() != RegA), function processTiedPairs, file /usr/src/contrib/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp, line 1544.
cc: error: unable to execute command: Abort trap (core dumped)
cc: error: clang frontend command failed due to signal (use -v to see invocation)
FreeBSD clang version 7.0.1 (tags/RELEASE_701/final 349250) (based on LLVM 7.0.1)
This is the file: https://github.com/awslabs/aws-checksums/blob/master/source/intel/crc32c_sse42_asm.c
It seems LLVM is triggering this assert because the inline assembly is not in SSA form. Inline assembly is not supposed to be emitted as it is?
For convenience, here is the assertion code: https://github.com/llvm-project/llvm/blob/master/lib/CodeGen/TwoAddressInstructionPass.cpp?#L1545
Thanks in advance.
Danilo.
[1] - https://github.com/awslabs/aws-checksums
The text was updated successfully, but these errors were encountered: