I am running the following llvm-ld command to produce native code:
llvm-ld -native -o code.exe code.bc -lm
However, I am getting the following assertion failure in llc. The bytecode has been processed with opt, it passes opt bytecode verification. I'm not too familiar with backend code generation. Does anyone have any insight in to what the problem might be or how to go about debugging it?
Regards,
Ryan
llc: /home/lefever/work/llvm-cvs-070325/include/llvm/Support/Casting.h:199: typename llvm::cast_retty<To, From>::ret_type llvm::cast(const Y&) [with X = llvm::ConstantSDNode, Y = llvm::SDOperand]: Assertion `isa<X>(Val) && "cast<Ty>() argument of incompatible type!"' failed.
/home/lefever/work/install/bin/llc((anonymous namespace)::PrintStackTrace()+0x1a)[0x88b77e6]
/home/lefever/work/install/bin/llc((anonymous namespace)::SignalHandler(int)+0x112)[0x88b7aac]
[0xd5c420]
/lib/libc.so.6(abort+0x101)[0x4cab64f1]
/lib/libc.so.6(__assert_fail+0xfd)[0x4caae859]
/home/lefever/work/install/bin/llc(llvm::cast_retty<llvm::ConstantSDNode, llvm::SDOperand>::ret_type llvm::cast<llvm::ConstantSDNode, llvm::SDOperand>(llvm::SDOperand const&)+0x4c)[0x83f6af6]
/home/lefever/work/install/bin/llc(llvm::ScheduleDAG::EmitNode(llvm::SDNode*, llvm::DenseMap<llvm::SDNode*, unsigned int, llvm::DenseMapKeyInfo<llvm::SDNode*> >&)+0x8b2)[0x86ab9fc]
/home/lefever/work/install/bin/llc(llvm::ScheduleDAG::EmitSchedule()+0x283)[0x86abf7d]
/home/lefever/work/install/bin/llc[0x861cada]
/home/lefever/work/install/bin/llc(llvm::ScheduleDAG::Run()+0x94)[0x86a9d6c]
/home/lefever/work/install/bin/llc(llvm::SelectionDAGISel::ScheduleAndEmitDAG(llvm::SelectionDAG&)+0x73)[0x863e64d]
/home/lefever/work/install/bin/llc[0x84edf05]
/home/lefever/work/install/bin/llc(llvm::SelectionDAGISel::CodeGenAndEmitDAG(llvm::SelectionDAG&)+0x13b)[0x863e7ab]
/home/lefever/work/install/bin/llc(llvm::SelectionDAGISel::SelectBasicBlock(llvm::BasicBlock*, llvm::MachineFunction&, llvm::FunctionLoweringInfo&)+0xad)[0x8652ca7]
/home/lefever/work/install/bin/llc(llvm::SelectionDAGISel::runOnFunction(llvm::Function&)+0x5d2)[0x865449e]
/home/lefever/work/install/bin/llc[0x851d559]
/home/lefever/work/install/bin/llc(llvm::FPPassManager::runOnFunction(llvm::Function&)+0x13a)[0x8844a7c]
/home/lefever/work/install/bin/llc(llvm::FunctionPassManagerImpl::run(llvm::Function&)+0x6e)[0x8844d00]
/home/lefever/work/install/bin/llc(llvm::FunctionPassManager::run(llvm::Function&)+0x88)[0x8844dc0]
/home/lefever/work/install/bin/llc(main+0xbe0)[0x83b9cb6]
/lib/libc.so.6(__libc_start_main+0xdc)[0x4caa24e4]
/home/lefever/work/install/bin/llc(__gxx_personality_v0+0x171)[0x83b8031]
llvm-ld:
make: *** [benchmarks/bc-1.06/src/bc---all.rdi_prim.exe] Error 1