; Check that this test makes INDVAR and related stuff dead.
; RUN: opt < %s -loop-reduce -S | not grep INDVAR

; Provide legal integer types.
target datalayout = "n8:16:32:64"

declare i1 @pred()

define void @test(i32* %P) {
; <label>:0
	br label %Loop
Loop:		; preds = %Loop, %0
        %i = phi i32 [ 0, %0 ], [ %i.next, %Loop ]
	%INDVAR = phi i32 [ 0, %0 ], [ %INDVAR2, %Loop ]		; <i32> [#uses=2]
	%STRRED = getelementptr i32, i32* %P, i32 %INDVAR		; <i32*> [#uses=1]
	store i32 0, i32* %STRRED
	%INDVAR2 = add i32 %INDVAR, 1		; <i32> [#uses=1]
        %i.next = add i32 %i, 1
	%cond = call i1 @pred( )		; <i1> [#uses=1]
	br i1 %cond, label %Loop, label %Out
Out:		; preds = %Loop
	ret void
}

