[LLVMdev] llc assertion failure

Reid Spencer rspencer at reidspencer.com
Fri Apr 6 12:18:13 PDT 2007


Hi Ryan,

On Fri, 2007-04-06 at 13:34 -0500, Ryan M. Lefever wrote:
> 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?

Okay, a couple things:

1. Does the llc version match the llvm-gcc or whatever frontend that
   produced "code.bc". This could simply be an IR version issue if 
   you're working on CVS HEAD. If that's not it, then ...

2. This looks to be an llc problem not llvm-ld. All that is happening
   here is that llvm-ld is exec'ing llc on code.bc. Could you please
   run llc under the debugger and give it code.bc as input. When it
   fails, please get a stack trace and then create a PR for this
   problem.

Thanks,

Reid.

> 
> 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
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list