9fb4d3e5c873839c78fd363f49f8467f07cba5ce
[oota-llvm.git] / test / Transforms / IndVarsSimplify / loop_evaluate_1.ll
1 ; RUN: llvm-as < %s | opt -indvars -adce -simplifycfg | llvm-dis | not grep br
2 ;
3 ; Testcase distilled from 256.bzip2
4
5 int %main() {
6 entry:
7         br label %loopentry
8
9 loopentry:              ; preds = %entry, %loopentry
10         %indvar1 = phi uint [ 0, %entry ], [ %indvar.next2, %loopentry ]                ; <uint> [#uses=1]
11         %h.0 = phi int [ %tmp.2, %loopentry ], [ 4, %entry ]            ; <int> [#uses=1]
12         %tmp.1 = mul int %h.0, 3                ; <int> [#uses=1]
13         %tmp.2 = add int %tmp.1, 1              ; <int> [#uses=1]
14         %indvar.next2 = add uint %indvar1, 1            ; <uint> [#uses=2]
15         %exitcond3 = setne uint %indvar.next2, 4                ; <bool> [#uses=1]
16         br bool %exitcond3, label %loopentry, label %loopexit
17
18 loopexit:               ; preds = %loopentry
19         ret int %tmp.2
20 }
21