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