• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: opt < %s -jump-threading -disable-output -verify-dom-info
2@global = external global i64, align 8
3
4define void @f() {
5bb:
6  br label %bb1
7
8bb1:
9  %tmp = load i64, i64* @global, align 8
10  %tmp2 = icmp eq i64 %tmp, 0
11  br i1 %tmp2, label %bb27, label %bb3
12
13bb3:
14  %tmp4 = load i64, i64* @global, align 8
15  %tmp5 = icmp eq i64 %tmp4, 0
16  br i1 %tmp5, label %bb6, label %bb7
17
18bb6:
19  br label %bb7
20
21bb7:
22  %tmp8 = phi i1 [ true, %bb3 ], [ undef, %bb6 ]
23  %tmp9 = select i1 %tmp8, i64 %tmp4, i64 0
24  br i1 false, label %bb10, label %bb23
25
26bb10:
27  %tmp11 = load i64, i64* @global, align 8
28  %tmp12 = icmp slt i64 %tmp11, 5
29  br i1 %tmp12, label %bb13, label %bb17
30
31bb13:
32  br label %bb14
33
34bb14:
35  br i1 undef, label %bb15, label %bb16
36
37bb15:
38  unreachable
39
40bb16:
41  br label %bb10
42
43bb17:
44  br label %bb18
45
46bb18:
47  br i1 undef, label %bb22, label %bb13
48
49bb19:
50  br i1 undef, label %bb20, label %bb21
51
52bb20:
53  unreachable
54
55bb21:
56  br label %bb18
57
58bb22:
59  br label %bb23
60
61bb23:
62  br i1 undef, label %bb24, label %bb13
63
64bb24:
65  br i1 undef, label %bb26, label %bb25
66
67bb25:
68  br label %bb19
69
70bb26:
71  br label %bb1
72
73bb27:
74  br label %bb24
75}
76