; RUN: opt < %s -inline -S | grep "define internal i32 @bar"
@llvm.noinline = appending global [1 x i8*] [ i8* bitcast (i32 (i32, i32)* @bar to i8*) ], section "llvm.metadata"		; <[1 x i8*]*> [#uses=0]

define internal i32 @bar(i32 %x, i32 %y) {
entry:
	%x_addr = alloca i32		; <i32*> [#uses=2]
	%y_addr = alloca i32		; <i32*> [#uses=2]
	%retval = alloca i32, align 4		; <i32*> [#uses=2]
	%tmp = alloca i32, align 4		; <i32*> [#uses=2]
	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]
	store i32 %x, i32* %x_addr
	store i32 %y, i32* %y_addr
	%tmp1 = load i32* %x_addr		; <i32> [#uses=1]
	%tmp2 = load i32* %y_addr		; <i32> [#uses=1]
	%tmp3 = add i32 %tmp1, %tmp2		; <i32> [#uses=1]
	store i32 %tmp3, i32* %tmp
	%tmp4 = load i32* %tmp		; <i32> [#uses=1]
	store i32 %tmp4, i32* %retval
	br label %return

return:		; preds = %entry
	%retval5 = load i32* %retval		; <i32> [#uses=1]
	ret i32 %retval5
}

define i32 @foo(i32 %a, i32 %b) {
entry:
	%a_addr = alloca i32		; <i32*> [#uses=2]
	%b_addr = alloca i32		; <i32*> [#uses=2]
	%retval = alloca i32, align 4		; <i32*> [#uses=2]
	%tmp = alloca i32, align 4		; <i32*> [#uses=2]
	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]
	store i32 %a, i32* %a_addr
	store i32 %b, i32* %b_addr
	%tmp1 = load i32* %b_addr		; <i32> [#uses=1]
	%tmp2 = load i32* %a_addr		; <i32> [#uses=1]
	%tmp3 = call i32 @bar( i32 %tmp1, i32 %tmp2 )		; <i32> [#uses=1]
	store i32 %tmp3, i32* %tmp
	%tmp4 = load i32* %tmp		; <i32> [#uses=1]
	store i32 %tmp4, i32* %retval
	br label %return

return:		; preds = %entry
	%retval5 = load i32* %retval		; <i32> [#uses=1]
	ret i32 %retval5
}
