; RUN: opt < %s -instcombine -mem2reg -S | grep {%A = alloca} 
; RUN: opt < %s -instcombine -mem2reg -S | \
; RUN:    not grep {%B = alloca}
; END.

; Ensure that instcombine doesn't sink the loads in entry/cond_true into 
; cond_next.  Doing so prevents mem2reg from promoting the B alloca.

define i32 @test2(i32 %C) {
entry:
	%A = alloca i32
	%B = alloca i32
	%tmp = call i32 (...)* @bar( i32* %A )		; <i32> [#uses=0]
	%T = load i32* %A		; <i32> [#uses=1]
	%tmp2 = icmp eq i32 %C, 0		; <i1> [#uses=1]
	br i1 %tmp2, label %cond_next, label %cond_true

cond_true:		; preds = %entry
	store i32 123, i32* %B
	call i32 @test2( i32 123 )		; <i32>:0 [#uses=0]
	%T1 = load i32* %B		; <i32> [#uses=1]
	br label %cond_next

cond_next:		; preds = %cond_true, %entry
	%tmp1.0 = phi i32 [ %T1, %cond_true ], [ %T, %entry ]		; <i32> [#uses=1]
	%tmp7 = call i32 (...)* @baq( )		; <i32> [#uses=0]
	%tmp8 = call i32 (...)* @baq( )		; <i32> [#uses=0]
	%tmp9 = call i32 (...)* @baq( )		; <i32> [#uses=0]
	%tmp10 = call i32 (...)* @baq( )		; <i32> [#uses=0]
	%tmp11 = call i32 (...)* @baq( )		; <i32> [#uses=0]
	%tmp12 = call i32 (...)* @baq( )		; <i32> [#uses=0]
	%tmp13 = call i32 (...)* @baq( )		; <i32> [#uses=0]
	%tmp14 = call i32 (...)* @baq( )		; <i32> [#uses=0]
	%tmp15 = call i32 (...)* @baq( )		; <i32> [#uses=0]
	%tmp16 = call i32 (...)* @baq( )		; <i32> [#uses=0]
	%tmp17 = call i32 (...)* @baq( )		; <i32> [#uses=0]
	%tmp18 = call i32 (...)* @baq( )		; <i32> [#uses=0]
	%tmp19 = call i32 (...)* @baq( )		; <i32> [#uses=0]
	%tmp20 = call i32 (...)* @baq( )		; <i32> [#uses=0]
	ret i32 %tmp1.0
}

declare i32 @bar(...)

declare i32 @baq(...)
