1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=x86_64-linux-gnu %s -o - -verify-machineinstrs | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Workerdefine i32 @tail_merge_unreachable(i32 %i) { 4*9880d681SAndroid Build Coastguard Workerentry: 5*9880d681SAndroid Build Coastguard Worker br i1 undef, label %sw, label %end 6*9880d681SAndroid Build Coastguard Workersw: 7*9880d681SAndroid Build Coastguard Worker switch i32 %i, label %end [ 8*9880d681SAndroid Build Coastguard Worker i32 99, label %sw.bb 9*9880d681SAndroid Build Coastguard Worker i32 98, label %sw.bb 10*9880d681SAndroid Build Coastguard Worker i32 101, label %sw.bb 11*9880d681SAndroid Build Coastguard Worker i32 97, label %sw.bb2 12*9880d681SAndroid Build Coastguard Worker i32 96, label %sw.bb2 13*9880d681SAndroid Build Coastguard Worker i32 100, label %sw.bb2 14*9880d681SAndroid Build Coastguard Worker ] 15*9880d681SAndroid Build Coastguard Workersw.bb: 16*9880d681SAndroid Build Coastguard Worker unreachable 17*9880d681SAndroid Build Coastguard Workersw.bb2: 18*9880d681SAndroid Build Coastguard Worker unreachable 19*9880d681SAndroid Build Coastguard Workerend: 20*9880d681SAndroid Build Coastguard Worker %p = phi i32 [ 1, %sw ], [ 0, %entry ] 21*9880d681SAndroid Build Coastguard Worker ret i32 %p 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: tail_merge_unreachable: 24*9880d681SAndroid Build Coastguard Worker; Range Check 25*9880d681SAndroid Build Coastguard Worker; CHECK: addl $-96 26*9880d681SAndroid Build Coastguard Worker; CHECK: cmpl $5 27*9880d681SAndroid Build Coastguard Worker; CHECK: jbe [[JUMP_TABLE_BLOCK:[.][A-Za-z0-9_]+]] 28*9880d681SAndroid Build Coastguard Worker; CHECK: retq 29*9880d681SAndroid Build Coastguard Worker; CHECK: [[JUMP_TABLE_BLOCK]]: 30*9880d681SAndroid Build Coastguard Worker; CHECK: btl 31*9880d681SAndroid Build Coastguard Worker; CHECK: jae [[UNREACHABLE_BLOCK:[.][A-Za-z0-9_]+]] 32*9880d681SAndroid Build Coastguard Worker; CHECK [[UNREACHABLE_BLOCK]]: 33*9880d681SAndroid Build Coastguard Worker; CHECK: .Lfunc_end0 34*9880d681SAndroid Build Coastguard Worker} 35