Open llvmbot opened 15 years ago
still exists with llvm rev 81322
xerxes@overo:/usr/src/openembedded/verdexpro/tmp/work/armv5te-angstrom-linux-gnueabi/llvm2.6-2.5+svnr81322-r1/trunk/build/bin$ ./llvm-as < /home/xerxes/3728.
ll | ./llc -march=arm
.file "
retesting with llvm svn rev 79847
xerxes@sheeva:/usr/src/build$ ./buildbot/llvm-arm-linux/build/Debug/bin/llvm-as < bugpoint-reduced-simplified.ll | ./buildbot/llvm-arm-linux/build/Debug/bin/llc -march=arm
.file "
The ouput of the testcase:
llvm-as < ./bugpoint-reduced-simplified.ll | llc -march=arm llc: /usr/src/openembedded/overo/tmp/work/armv7a-angstrom-linux-gnueabi/llvm2.6-2.5+svnr20090511-r0/trunk/lib/Target/ARM/ARMISelLowering.cpp:1596: virtual llvm::SDValue llvm::ARMTargetLowering::LowerOperation(llvm::SDValue, llvm::SelectionDAG&): Assertion `0 && "Don't know how to custom lower this!"' failed. Stack dump:
It shouldn't be too hard to add support for trampolines to ARM. The usual technique is to study the code sequence gcc uses and implement it or a variant in the LLVM code generators. If you are interested, compare the ppc and x86 cases in LLVM and gcc.
That said, not sure why pointers to nested functions are being used in the ARM llvm-gcc cross build... What is the original code?
Extended Description
I encountered the following assertion during compilation using x86_64->arm cross compiler that I built. llvm rev no: 66050.
Please find bugpoint-reduced-simplified.ll attached.
Thanks.