; RUN: opt < %s -instcombine -S | grep "ret i32 %A"
; RUN: opt < %s -die -S | not grep call.*llvm

define i32 @test(i32 %A) {
	%X = or i1 false, false		
	br i1 %X, label %T, label %C

T:		; preds = %0
	%B = add i32 %A, 1	
	br label %C

C:		; preds = %T, %0
	%C.upgrd.1 = phi i32 [ %B, %T ], [ %A, %0 ]
	ret i32 %C.upgrd.1
}

define i32* @test2(i32 %width) {
	%tmp = call i8* @llvm.stacksave( )
        %tmp14 = alloca i32, i32 %width
	ret i32* %tmp14
} 

declare i8* @llvm.stacksave()

declare void @llvm.lifetime.start.p0i8(i64, i8*)
declare void @llvm.lifetime.end.p0i8(i64, i8*)

define void @test3() {
  call void @llvm.lifetime.start.p0i8(i64 -1, i8* undef)
  call void @llvm.lifetime.end.p0i8(i64 -1, i8* undef)
  ret void
}

