[llvm-dev] Assertion failed in function processTiedPairs

Danilo EgĂȘa Gondolfo via llvm-dev llvm-dev at lists.llvm.org
Wed Jan 9 14:00:04 PST 2019


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 emit 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190109/4d2516ac/attachment.html>


More information about the llvm-dev mailing list