[LLVMdev] Improving bugpoint

53 views
Skip to first unread message

David Greene

unread,
Jul 17, 2008, 8:38:29 PM7/17/08
to LLVM List
I've made quite a bit of progress getting bugpoint to work with
our (non-gcc) tools. In fact I caught the alignment bug I
recently posted about using it. But it's not there yet. In
particular, I am seeing this scenario a lot (comments in brackets):

*** Found miscompiling pass: -instcombine
Emitted bitcode to 'bugpoint-passinput.bc'

[ Good! This is progress! ]

*** You can reproduce the problem with: opt bugpoint-passinput.bc -instcombine
Checking to see if the program is misoptimized when these functions are run
through the pass: main sub0_ init_
Removing function main
Removing function sub0_
Removing function init_
Optimizing functions being tested: done.
Checking to see if the merged program executes correctly: <llc>
About to run: llc -o bugpoint-test-program.bc.llc.s -f
bugpoint-test-program.bc
<cray>
About to run: ftn bugpoint-test-program.bc.llc.s -c -o
bugpoint-test-program.bc.llc.s.cray.o-yIVqrc
<cray>
About to run: ftn bugpoint-test-program.bc.llc.s.cray.o-yIVqrc -o
bugpoint-test-program.bc.llc.s.cray.exe -lm

Error running tool:
ftn bugpoint-test-program.bc.llc.s.cray.o-yIVqrc -o
bugpoint-test-program.bc.llc.s.cray.exe -lm
/opt/xt-asyncpe/2.0.5/bin/ftn: INFO: native target is being used
bugpoint-test-program.bc.llc.s.cray.o-yIVqrc: In function `red09_':
(.text+0x48): undefined reference to `__unnamed_1_0'

[ and lots more of the same ]

*** Debugging code generator crash!

[ Uh..no, this is a link failure... ]

It appears that bugpoint outflanks itself and removes some global symbols,
generating a link error and causing bugpoint to go off on a not-very-useful
code generator crash analysis. So I never actually end up getting a reduced
test case.

Has anyone else seen this kind of behavior before? What's a reasonable way to
address it? Should bugpoint try to detect link failures and then undo
whatever it did just before the link failure?

Thanks for a great tool. I'm happy to help make it better!

-Dave
_______________________________________________
LLVM Developers mailing list
LLV...@cs.uiuc.edu http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

Chris Lattner

unread,
Jul 18, 2008, 12:04:10 AM7/18/08
to LLVM Developers Mailing List
On Jul 17, 2008, at 5:38 PM, David Greene wrote:

> I've made quite a bit of progress getting bugpoint to work with
> our (non-gcc) tools. In fact I caught the alignment bug I
> recently posted about using it. But it's not there yet.

Cool.

>
> It appears that bugpoint outflanks itself and removes some global
> symbols,
> generating a link error and causing bugpoint to go off on a not-very-
> useful
> code generator crash analysis. So I never actually end up getting a
> reduced
> test case.

This occurs when you have functions/globals with no name (i.e. F-
>setName("")).

This might be http://llvm.org/bugs/show_bug.cgi?id=718

The basic fix is for bugpoint to add names to any unnamed symbols
before it starts grinding.

-Chris

Reply all
Reply to author
Forward
0 new messages