[LLVMbugs] [Bug 1107] NEW: -instcombine failure for MiBench/consumer-typeset

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Thu Jan 11 22:55:24 PST 2007


http://llvm.org/bugs/show_bug.cgi?id=1107

           Summary: -instcombine failure for MiBench/consumer-typeset
           Product: libraries
           Version: trunk
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Backend: X86
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: rspencer at x10sys.com


I have been trying to solve a little mystery. After resolving various issues
with the test case itsellf (MultisSource/Benchmarks/MiBench/consumer-typeset), I
have determined that there is a codegen bug that this test triggers when
-instcombine is run. Here's how I know this:

1. If you run the Output/consumer-typeset.linked.rbc file through lli in JIT 
   mode it works fine.

2. All three backends (llc,jit,cbe) fail in the same way. They all produce the
   same incorrect output. This indicates a misoptimization rather than a code
   gen bug.

3. I used findmisopt to find the first optimization that caused the output to 
   differ. It reported this sequence of optimizations as the first set that
   produces a difference in the output:
      -lowersetjmp -funcresolve -raiseallocs -simplifycfg -mem2reg -globalopt
      -globaldce -ipconstprop -deadargelim -instcombine
4. bugpoint produces a non-sensical reduction (two branches and a return) 

I'm wondernig if someone can bugpoint this on Darwin because I'm starting to
think that bugpoint doesn't work so well on Linux. In the last month, a Darwin
run of bugpoint was able to reduce a test case that a run on Linux, with the
same inputs, could not reduce. If you can reduce this on Darwin, I'll file a bug
against bugpoint.



------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.



More information about the llvm-bugs mailing list