; RUN: opt < %s -loop-unswitch -indvars -disable-output
; Require SCEV before LCSSA.
define void @foo() {
entry:
	%i = alloca i32, align 4		; <i32*> [#uses=5]
	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]
	store i32 0, i32* %i, align 4
	br label %bb3

bb:		; preds = %bb3
	%tmp = load i32, i32* %i, align 4		; <i32> [#uses=1]
	call void @bar( i32 %tmp )
	%tmp1 = load i32, i32* %i, align 4		; <i32> [#uses=1]
	%tmp2 = add i32 %tmp1, 1		; <i32> [#uses=1]
	store i32 %tmp2, i32* %i, align 4
	br label %bb3

bb3:		; preds = %bb, %entry
	%tmp4 = load i32, i32* %i, align 4		; <i32> [#uses=1]
	%tmp5 = icmp sle i32 %tmp4, 9		; <i1> [#uses=1]
	%tmp56 = zext i1 %tmp5 to i8		; <i8> [#uses=1]
	%toBool = icmp ne i8 %tmp56, 0		; <i1> [#uses=1]
	br i1 %toBool, label %bb, label %bb7

bb7:		; preds = %bb3
	br label %return

return:		; preds = %bb7
	ret void
}

declare void @bar(i32)
