; RUN: opt < %s -sccp -S | FileCheck %s

; This is a basic sanity check for constant propagation.  The add instruction 
; should be eliminated.

define i32 @test1(i1 %B) {
	br i1 %B, label %BB1, label %BB2
BB1:		; preds = %0
	%Val = add i32 0, 0		; <i32> [#uses=1]
	br label %BB3
BB2:		; preds = %0
	br label %BB3
BB3:		; preds = %BB2, %BB1
	%Ret = phi i32 [ %Val, %BB1 ], [ 1, %BB2 ]		; <i32> [#uses=1]
	ret i32 %Ret
        
; CHECK: @test1
; CHECK: %Ret = phi i32 [ 0, %BB1 ], [ 1, %BB2 ]
}

; This is the test case taken from appel's book that illustrates a hard case
; that SCCP gets right.
;
define i32 @test2(i32 %i0, i32 %j0) {
; CHECK: @test2
BB1:
	br label %BB2
BB2:
	%j2 = phi i32 [ %j4, %BB7 ], [ 1, %BB1 ]
	%k2 = phi i32 [ %k4, %BB7 ], [ 0, %BB1 ]
	%kcond = icmp slt i32 %k2, 100
	br i1 %kcond, label %BB3, label %BB4
BB3:
	%jcond = icmp slt i32 %j2, 20
	br i1 %jcond, label %BB5, label %BB6
; CHECK: BB3:
; CHECK-NEXT: br i1 true, label %BB5, label %BB6
BB4:
	ret i32 %j2
; CHECK: BB4:
; CHECK-NEXT: ret i32 1
BB5:
	%k3 = add i32 %k2, 1
	br label %BB7
BB6:
	%k5 = add i32 %k2, 1
	br label %BB7
; CHECK: BB6:
; CHECK-NEXT: br label %BB7
BB7:
	%j4 = phi i32 [ 1, %BB5 ], [ %k2, %BB6 ]
	%k4 = phi i32 [ %k3, %BB5 ], [ %k5, %BB6 ]
	br label %BB2
; CHECK: BB7:
; CHECK-NEXT: %k4 = phi i32 [ %k3, %BB5 ], [ undef, %BB6 ]
; CHECK-NEXT: br label %BB2
}

