Re-land [openmp] Fix warnings when building on Windows with latest MSVC or Clang...
[llvm-project.git] / llvm / test / Transforms / JumpThreading / ddt-crash4.ll
blob69eec7d5f6d8be7035225b287dbfa3df1c693deb
1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2 ; RUN: opt -S -passes=jump-threading -verify-dom-info < %s | FileCheck %s
4 @global = external global i64, align 8
6 define void @f() {
7 ; CHECK-LABEL: @f(
8 ; CHECK-NEXT:  bb:
9 ; CHECK-NEXT:    br label [[BB1:%.*]]
10 ; CHECK:       bb1:
11 ; CHECK-NEXT:    [[TMP:%.*]] = load i64, ptr @global, align 8
12 ; CHECK-NEXT:    [[TMP2:%.*]] = icmp eq i64 [[TMP]], 0
13 ; CHECK-NEXT:    br i1 [[TMP2]], label [[BB27:%.*]], label [[BB3:%.*]]
14 ; CHECK:       bb3:
15 ; CHECK-NEXT:    [[TMP4:%.*]] = load i64, ptr @global, align 8
16 ; CHECK-NEXT:    [[TMP5:%.*]] = icmp eq i64 [[TMP4]], 0
17 ; CHECK-NEXT:    br i1 [[TMP5]], label [[BB23:%.*]], label [[BB23]]
18 ; CHECK:       bb23:
19 ; CHECK-NEXT:    br label [[BB26:%.*]]
20 ; CHECK:       bb26:
21 ; CHECK-NEXT:    br label [[BB1]]
22 ; CHECK:       bb27:
23 ; CHECK-NEXT:    br label [[BB26]]
25 bb:
26   br label %bb1
28 bb1:
29   %tmp = load i64, ptr @global, align 8
30   %tmp2 = icmp eq i64 %tmp, 0
31   br i1 %tmp2, label %bb27, label %bb3
33 bb3:
34   %tmp4 = load i64, ptr @global, align 8
35   %tmp5 = icmp eq i64 %tmp4, 0
36   br i1 %tmp5, label %bb6, label %bb7
38 bb6:
39   br label %bb7
41 bb7:
42   %tmp8 = phi i1 [ true, %bb3 ], [ undef, %bb6 ]
43   %tmp9 = select i1 %tmp8, i64 %tmp4, i64 0
44   br i1 false, label %bb10, label %bb23
46 bb10:
47   %tmp11 = load i64, ptr @global, align 8
48   %tmp12 = icmp slt i64 %tmp11, 5
49   br i1 %tmp12, label %bb13, label %bb17
51 bb13:
52   br label %bb14
54 bb14:
55   br i1 undef, label %bb15, label %bb16
57 bb15:
58   unreachable
60 bb16:
61   br label %bb10
63 bb17:
64   br label %bb18
66 bb18:
67   br i1 undef, label %bb22, label %bb13
69 bb19:
70   br i1 undef, label %bb20, label %bb21
72 bb20:
73   unreachable
75 bb21:
76   br label %bb18
78 bb22:
79   br label %bb23
81 bb23:
82   br i1 undef, label %bb24, label %bb13
84 bb24:
85   br i1 undef, label %bb26, label %bb25
87 bb25:
88   br label %bb19
90 bb26:
91   br label %bb1
93 bb27:
94   br label %bb24