blob: 9bf08395d6601faf23e5931e67ed1970b0674786 [file] [log] [blame]
Jakub Kuderskid2e371f2018-01-19 21:27:24 +00001; 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}