Internal compiler error in SelectionDAGBuild.cpp

Hello,

While I was trying to cross-compile Linux OMAP kernel with llvm, I have the following error message.

CC arch/arm/kernel/traps.o

cc1: /home/wonjeon/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp:5388: void llvm::SelectionDAGLowering::visitInlineAsm(llvm::CallSite): Assertion `(OpInfo.ConstraintType == TargetLowering::C_RegisterClass || OpInfo.ConstraintType == TargetLowering::C_Register) && “Unknown constraint type!”’ failed.

arch/arm/kernel/traps.c:748: internal compiler error: Aborted

Please submit a full bug report,

with preprocessed source if appropriate.

See URL:http://llvm.org/bugs/ for instructions

Is there any related bug filed or fixed? Thanks in advance.

Won

There’s not enough information in your message to know what the problem is, but I’m not aware of anything offhand. Please file a bug report with a reproducible testcase and I’ll take a look at it.

Hi Won,

It's hard to say. Could you prepare a small testcase (a .bc file for
example) and file a PR?

Thanks!
-bw

Hello

cc1:
/home/wonjeon/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp:5388: void
llvm::SelectionDAGLowering::visitInlineAsm(llvm::CallSite): Assertion
`(OpInfo.ConstraintType == TargetLowering::C_RegisterClass ||
OpInfo.ConstraintType == TargetLowering::C_Register) && "Unknown constraint
type!"' failed.

Looks like inline asm problem

Bug #4521 has been filed. traps.c has been also attached.

Thanks,
Won

Thanks for the bug report. The attached file isn’t helpful for reproducing the problem. I don’t have all the header files that are included, so I can’t just try to run it through my version of llvm-gcc and see what happens. At a minimum, please attach the preprocessed source file along with the complete llvm-gcc command line that you used to compile it. That would probably be good enough, but since I don’t have a copy of llvm-gcc configured for OMAP Linux, it would be much better if you could submit the LLVM bitcode file. Have a look at the following doc on the LLVM website:

http://www.llvm.org/docs/HowToSubmitABug.html

Thanks!

traps.i has been attached. I used ‘make CROSS_COMPILE=llvm-arm-’ to compile the kernel with default configurations provided by kernel package If you need more information, please let me know.

Thanks,
Won

Yes, more info, please. As I mentioned before, we need the llvm-gcc command line. The make command line is useless to me because I don't have the makefile. I'll take a look at traps.i and see if there's something obvious, but please send the llvm-gcc command line.