[InstCombine] Signed saturation patterns
[llvm-core.git] / test / Transforms / InstCombine / 2007-02-23-PhiFoldInfLoop.ll
blobf31c280661d047e2d190686423af67390f25731b
1 ; RUN: opt < %s -instcombine -S | grep ret
2 ; PR1217
4 target datalayout = "e-p:32:32"
5 target triple = "i686-pc-linux-gnu"
6         %struct.termbox = type { %struct.termbox*, i32, i32, i32, i32, i32 }
9 define void @ggenorien() {
10 entry:
11         %tmp68 = icmp eq %struct.termbox* null, null            ; <i1> [#uses=1]
12         br i1 %tmp68, label %cond_next448, label %bb80
14 bb80:           ; preds = %entry
15         ret void
17 cond_next448:           ; preds = %entry
18         br i1 false, label %bb756, label %bb595
20 bb595:          ; preds = %cond_next448
21         br label %bb609
23 bb609:          ; preds = %bb756, %bb595
24         %termnum.6240.0 = phi i32 [ 2, %bb595 ], [ %termnum.6, %bb756 ]         ; <i32> [#uses=1]
25         %tmp755 = add i32 %termnum.6240.0, 1            ; <i32> [#uses=1]
26         br label %bb756
28 bb756:          ; preds = %bb609, %cond_next448
29         %termnum.6 = phi i32 [ %tmp755, %bb609 ], [ 2, %cond_next448 ]          ; <i32> [#uses=1]
30         br label %bb609