[LLVMbugs] gccas bug; testcase enclosed (more details)

John Mellor-Crummey johnmc at cs.rice.edu
Fri May 20 14:50:37 PDT 2005


this is a follow-up posting to my previous message that is duplicated below.

we isolated the problem to the rewriting of sprintf calls into strcpy 
calls. we aren't sure exactly what the problem is (since we don't 
understand enough about llvm yet) that is causing a type cast to be 
omitted, but now we have a workaround that we are using - we simply 
avoid rewriting sprintf as strcpy. I'm sure the author will be able 
to spot the problem in a few minutes whereas it would take us longer 
to understand what should have been done instead.

John M-C




>We are using LLVM from CVS and encountered a bug in gccas. We used 
>bugpoint to help pinpoint the error.
>
>command to repeat error:
>
>opt bugpoint-passinput.bc -simplify-libcalls
>
>the offending file is attached.
>
>Unfortunately, bugpoint fell over while trying to reduce the test 
>case. It emitted the error message:
>
>Checking instruction '': Success!
>PHINode should have one entry for each predecessor of its parent basic block!
>         %i.3 = phi int [ %inc.11, %endif.5 ], [ 0, %endif.0 ], [ 0, 
>%endif.0 ], [ 0, %endif.0 ], [ 0, %endif.0 ], [ 0, %endif.0 ] 
>; <int> [#uses=3]
>Broken module found, compilation aborted!
>Checking instruction 'tmp.208': bugpoint((anonymous 
>namespace)::PrintStackTrace()+0x1a)[0x873fada]
>bugpoint((anonymous namespace)::SignalHandler(int)+0xcb)[0x873fd4d]
>[0xffffe420]
>/lib/libc.so.6(abort+0x16d)[0xb7dd236d]
>bugpoint((anonymous namespace)::Verifier::abortIfBroken()+0xd5)[0x86fe6d3]
>bugpoint((anonymous 
>namespace)::Verifier::runOnFunction(llvm::Function&)+0x57)[0x86fdd6f]
>bugpoint(llvm::PassManagerTraits<llvm::Function>::runPass(llvm::FunctionPass*, 
>llvm::Function*)+0x1f)[0x86e1905]
>bugpoint(llvm::PassManagerT<llvm::Function>::runOnUnit(llvm::Function*)+0x5c3)[0x86d7657]
>bugpoint(llvm::PassManagerTraits<llvm::Function>::runOnFunction(llvm::Function&)+0x1f)[0x86d820d]
>bugpoint(llvm::FunctionPass::runOnModule(llvm::Module&)+0xa7)[0x868c7d7]
>bugpoint(llvm::PassManagerTraits<llvm::Module>::runPass(llvm::ModulePass*, 
>llvm::Module*)+0x1f)[0x86e199b]
>bugpoint(llvm::PassManagerT<llvm::Module>::runOnUnit(llvm::Module*)+0x5c3)[0x86d57e3]
>bugpoint(llvm::PassManagerTraits<llvm::Module>::runOnModule(llvm::Module&)+0x1f)[0x86d6e77]
>bugpoint(llvm::PassManager::run(llvm::Module&)+0x23)[0x868bbe1]
>bugpoint(llvm::BugDriver::deleteInstructionFromProgram(llvm::Instruction 
>const*, unsigned int) const+0x366)[0x840696a]
>bugpoint[0x83f6209]
>bugpoint(llvm::BugDriver::debugOptimizerCrash()+0x1cf)[0x83f6669]
>bugpoint(llvm::BugDriver::run()+0x5d)[0x83f3207]
>bugpoint(main+0xc7)[0x84149cf]
>/lib/libc.so.6(__libc_start_main+0xb8)[0xb7dbd488]
>bugpoint[0x83f29c1]
>Abort
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20050520/1c163473/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bugpoint-passinput.bc
Type: application/octet-stream
Size: 22002 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20050520/1c163473/attachment.obj>


More information about the llvm-bugs mailing list