1*cee313d2SEric Christopher; There should be no phi nodes left.
2*cee313d2SEric Christopher; RUN: opt < %s -jump-threading  -S | not grep "phi i32"
3*cee313d2SEric Christopher
4*cee313d2SEric Christopherdeclare i32 @f1()
5*cee313d2SEric Christopherdeclare i32 @f2()
6*cee313d2SEric Christopherdeclare void @f3()
7*cee313d2SEric Christopher
8*cee313d2SEric Christopherdefine i32 @test(i1 %cond) {
9*cee313d2SEric Christopher	br i1 %cond, label %T1, label %F1
10*cee313d2SEric Christopher
11*cee313d2SEric ChristopherT1:
12*cee313d2SEric Christopher	%v1 = call i32 @f1()
13*cee313d2SEric Christopher	br label %Merge
14*cee313d2SEric Christopher
15*cee313d2SEric ChristopherF1:
16*cee313d2SEric Christopher	%v2 = call i32 @f2()
17*cee313d2SEric Christopher	br label %Merge
18*cee313d2SEric Christopher
19*cee313d2SEric ChristopherMerge:
20*cee313d2SEric Christopher	%B = phi i32 [%v1, %T1], [12, %F1]
21*cee313d2SEric Christopher	%A = icmp ne i32 %B, 42
22*cee313d2SEric Christopher	br i1 %A, label %T2, label %F2
23*cee313d2SEric Christopher
24*cee313d2SEric ChristopherT2:
25*cee313d2SEric Christopher	call void @f3()
26*cee313d2SEric Christopher	ret i32 1
27*cee313d2SEric Christopher
28*cee313d2SEric ChristopherF2:
29*cee313d2SEric Christopher	ret i32 0
30*cee313d2SEric Christopher}
31