1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=aarch64-apple-darwin -fast-isel -verify-machineinstrs < %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker; Test that the Machine Instruction PHI node doesn't have more than one operand 4*9880d681SAndroid Build Coastguard Worker; from the same predecessor. 5*9880d681SAndroid Build Coastguard Workerdefine i32 @foo(i32 %a, i32 %b, i1 %c) { 6*9880d681SAndroid Build Coastguard Workerentry: 7*9880d681SAndroid Build Coastguard Worker br i1 %c, label %switch, label %direct 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard Workerswitch: 10*9880d681SAndroid Build Coastguard Worker switch i32 %a, label %exit [ 11*9880d681SAndroid Build Coastguard Worker i32 43, label %continue 12*9880d681SAndroid Build Coastguard Worker i32 45, label %continue 13*9880d681SAndroid Build Coastguard Worker ] 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Workerdirect: 16*9880d681SAndroid Build Coastguard Worker %var = add i32 %b, 1 17*9880d681SAndroid Build Coastguard Worker br label %continue 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Workercontinue: 20*9880d681SAndroid Build Coastguard Worker %var.phi = phi i32 [ %var, %direct ], [ 0, %switch ], [ 0, %switch ] 21*9880d681SAndroid Build Coastguard Worker ret i32 %var.phi 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Workerexit: 24*9880d681SAndroid Build Coastguard Worker ret i32 1 25*9880d681SAndroid Build Coastguard Worker} 26