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