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