[LLVMbugs] gccas bug; testcase enclosed (more details)
Chris Lattner
sabre at nondot.org
Fri May 20 15:53:11 PDT 2005
On Fri, 20 May 2005, John Mellor-Crummey wrote:
> 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.
Wow you found two bugs. Thanks for reporting this. Here's the first bug
(the one that broke bugpoint):
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20050516/026625.html
and its testcase:
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20050516/026624.html
Here's the second bug patch (simplify-libcalls):
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20050516/026626.html
and its testcase:
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20050516/026627.html
Thanks again,
-Chris
>> 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
-Chris
--
http://nondot.org/sabre/
http://llvm.cs.uiuc.edu/
More information about the llvm-bugs
mailing list