[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