[LLVMbugs] [Bug 306] NEW: [loopsimplify] Loop simplify incorrectly updates dominator information

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Tue Mar 30 21:39:18 PST 2004


http://llvm.cs.uiuc.edu/bugs/show_bug.cgi?id=306

           Summary: [loopsimplify] Loop simplify incorrectly updates
                    dominator information
           Product: libraries
           Version: 1.2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Scalar Optimizations
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: sabre at nondot.org


If you run the testcase below through: 'opt -loopsimplify -licm', an assertion
fails.  On the other hand, if you run it through 'opt -loopsimplify | opt -licm'
it works fine.  This is due to the loop simplify pass not correctly updating
some analysis (probably dominator info) as it simplifies loops.

----
void %NormalizeCoeffsVecFFE() {
entry:
        br label %loopentry.0

loopentry.0:            ; preds = %entry, %no_exit.0
        br bool false, label %loopentry.1, label %no_exit.0

no_exit.0:              ; preds = %loopentry.0
        br bool false, label %loopentry.0, label %loopentry.1

loopentry.1:            ; preds = %loopentry.0, %no_exit.0, %no_exit.1
        br bool false, label %no_exit.1, label %loopexit.1

no_exit.1:              ; preds = %loopentry.1
        %tmp.43 = seteq ushort 0, 0             ; <bool> [#uses=1]
        br bool %tmp.43, label %loopentry.1, label %loopexit.1

loopexit.1:             ; preds = %loopentry.1, %no_exit.1
        ret void
}
----

Testcase distilled by bugpoint from 254.gap.

-Chris



------- 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