; This is the test case taken from Appel's book that illustrates a hard case
; that SCCP gets right, and when followed by ADCE, is completely eliminated
;
; RUN: opt < %s -sccp -simplifycfg -indvars -loop-deletion -dce -simplifycfg -S | not grep br

define i32 @"test function"(i32 %i0, i32 %j0) {
BB1:
        br label %BB2

BB2:            ; preds = %BB7, %BB1
        %j2 = phi i32 [ %j4, %BB7 ], [ 1, %BB1 ]                ; <i32> [#uses=2]
        %k2 = phi i32 [ %k4, %BB7 ], [ 0, %BB1 ]                ; <i32> [#uses=4]
        %kcond = icmp slt i32 %k2, 100          ; <i1> [#uses=1]
        br i1 %kcond, label %BB3, label %BB4

BB3:            ; preds = %BB2
        %jcond = icmp slt i32 %j2, 20           ; <i1> [#uses=1]
        br i1 %jcond, label %BB5, label %BB6

BB4:            ; preds = %BB2
        ret i32 %j2

BB5:            ; preds = %BB3
        %k3 = add i32 %k2, 1            ; <i32> [#uses=1]
        br label %BB7

BB6:            ; preds = %BB3
        %k5 = add i32 %k2, 1            ; <i32> [#uses=1]
        br label %BB7

BB7:            ; preds = %BB6, %BB5
        %j4 = phi i32 [ 1, %BB5 ], [ %k2, %BB6 ]                ; <i32> [#uses=1]
        %k4 = phi i32 [ %k3, %BB5 ], [ %k5, %BB6 ]              ; <i32> [#uses=1]
        br label %BB2
}

