Re-land [openmp] Fix warnings when building on Windows with latest MSVC or Clang...
[llvm-project.git] / llvm / test / CodeGen / X86 / tail-merge-unreachable.ll
blobce5613f5230955fd4467e2c74dd2fd0d3d4402fd
1 ; RUN: llc -mtriple=x86_64-linux-gnu %s -o - -verify-machineinstrs | FileCheck %s
3 define i32 @tail_merge_unreachable(i32 %i) {
4 entry:
5   br i1 undef, label %sw, label %end
6 sw:
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   ]
15 sw.bb:
16   unreachable
17 sw.bb2:
18   unreachable
19 end:
20   %p = phi i32 [ 1, %sw ], [ 0, %entry ]
21   ret i32 %p
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