; This test checks to see if the CEE pass is applying jump-bypassing for values
; determined by PHI nodes.  Because we are coming from a particular block, we
; know what value a PHI node will take on this edge and should exploit it.
;
; This testcase comes from the following C code:
; void bar(void);
; void foo(int c) {
;   int i = c ? 2 : 8;
;   while (i < 20) {
;     bar ();
;     i++;
;   }
; }
;
; RUN: llvm-as < %s | opt -cee -simplifycfg | llvm-dis | not grep bb3

implementation
declare void %bar()

void %foo(int %c) {
bb0:            ; No predecessors!
        %cond215 = seteq int %c, 0              ; <bool> [#uses=1]
        br bool %cond215, label %bb3, label %bb4

bb3:            ; preds = %bb0
        br label %bb4

bb4:            ; preds = %bb3, %bb0
        %reg110 = phi int [ 8, %bb3 ], [ 2, %bb0 ]              ; <int> [#uses=2]
        %cond217 = setgt int %reg110, 19                ; <bool> [#uses=1]
        br bool %cond217, label %bb6, label %bb5

bb5:            ; preds = %bb5, %bb4
        %cann-indvar = phi int [ 0, %bb4 ], [ %add1-indvar, %bb5 ]              ; <int> [#uses=2]
        %add1-indvar = add int %cann-indvar, 1          ; <int> [#uses=1]
        %reg111 = add int %cann-indvar, %reg110         ; <int> [#uses=1]
        call void %bar( )
        %reg112 = add int %reg111, 1            ; <int> [#uses=1]
        %cond222 = setle int %reg112, 19                ; <bool> [#uses=1]
        br bool %cond222, label %bb5, label %bb6

bb6:            ; preds = %bb5, %bb4
        ret void
}

