; RUN: opt < %s -loop-reduce -S | grep phi | count 1
; RUN: opt < %s -loop-reduce -S | grep mul | count 1
; ModuleID = '<stdin>'
; Make sure examining a fuller expression outside the loop doesn't cause us to create a second
; IV of stride %3.
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
target triple = "i386-apple-darwin9.5"
	%struct.anon = type { %struct.obj*, %struct.obj* }
	%struct.obj = type { i16, i16, { %struct.anon } }
@heap_size = external global i32		; <i32*> [#uses=1]
@"\01LC85" = external constant [39 x i8]		; <[39 x i8]*> [#uses=1]

declare i32 @sprintf(i8*, i8*, ...) nounwind

define %struct.obj* @gc_status(%struct.obj* %args) nounwind {
entry:
	br label %bb1.i

bb.i2:		; preds = %bb2.i3
	%indvar.next24 = add i32 %m.0.i, 1		; <i32> [#uses=1]
	br label %bb1.i

bb1.i:		; preds = %bb.i2, %entry
	%m.0.i = phi i32 [ 0, %entry ], [ %indvar.next24, %bb.i2 ]		; <i32> [#uses=4]
	%0 = icmp slt i32 %m.0.i, 0		; <i1> [#uses=1]
	br i1 %0, label %bb2.i3, label %nactive_heaps.exit

bb2.i3:		; preds = %bb1.i
	%1 = load %struct.obj*, %struct.obj** null, align 4		; <%struct.obj*> [#uses=1]
	%2 = icmp eq %struct.obj* %1, null		; <i1> [#uses=1]
	br i1 %2, label %nactive_heaps.exit, label %bb.i2

nactive_heaps.exit:		; preds = %bb2.i3, %bb1.i
	%3 = load i32, i32* @heap_size, align 4		; <i32> [#uses=1]
	%4 = mul i32 %3, %m.0.i		; <i32> [#uses=1]
	%5 = sub i32 %4, 0		; <i32> [#uses=1]
	%6 = tail call i32 (i8*, i8*, ...) @sprintf(i8* null, i8* getelementptr ([39 x i8], [39 x i8]* @"\01LC85", i32 0, i32 0), i32 %m.0.i, i32 0, i32 %5, i32 0) nounwind		; <i32> [#uses=0]
	ret %struct.obj* null
}
