First Last Prev Next    No search results available
Details
: [loopsimplify] Loop simplify incorrectly updates dominato...
Bug#: 306
: libraries
: Scalar Optimizations
Status: RESOLVED
Resolution: FIXED
: All
: All
: 1.2
: P2
: normal
: 1.3

:
: compile-fail
:
:
  Show dependency tree - Show dependency graph
People
Reporter: Chris Lattner <sabre@nondot.org>
Assigned To: Unassigned LLVM Bugs <unassignedbugs@nondot.org>

Attachments


Note

You need to log in before you can comment on or make changes to this bug.

Related actions


Description:   Opened: 2004-03-30 23:39
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
------- Comment #1 From Chris Lattner 2004-04-01 13:07:24 -------
This is now fixed:
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20040329/013408.html

Testcase here: LoopSimplify/2004-04-01-IncorrectDomUpdate.ll

-Chris
------- Comment #2 From Chris Lattner 2004-04-01 13:25:00 -------
This patch is also required:
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20040329/013413.html

First Last Prev Next    No search results available