• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: opt < %s -jump-threading -correlated-propagation
2
3%struct.S2 = type {}
4
5@g_128 = external global %struct.S2, align 1
6@g_106 = external global i16, align 2
7
8define void @int328(i16 signext %p_82) noreturn nounwind ssp {
9entry:
10  %tobool3 = icmp eq i16 %p_82, 0
11  br label %for.cond.outer
12
13for.cond.outer:                                   ; preds = %for.cond.loopexit, %entry
14  br label %for.cond
15
16for.cond.loopexit:                                ; preds = %bb.nph, %for.cond9.preheader
17  br label %for.cond.outer
18
19for.cond.loopexit4.us-lcssa:                      ; preds = %if.then
20  br label %for.cond.loopexit4
21
22for.cond.loopexit4:                               ; preds = %for.cond.loopexit4.us-lcssa.us, %for.cond.loopexit4.us-lcssa
23  br label %for.cond.backedge
24
25for.cond:                                         ; preds = %for.cond.backedge, %for.cond.outer
26  br i1 %tobool3, label %for.cond.split.us, label %for.cond.for.cond.split_crit_edge
27
28for.cond.for.cond.split_crit_edge:                ; preds = %for.cond
29  br label %lbl_133
30
31for.cond.split.us:                                ; preds = %for.cond
32  br label %lbl_133.us
33
34lbl_133.us:                                       ; preds = %lbl_134.us, %for.cond.split.us
35  br i1 undef, label %if.else14.us-lcssa.us, label %if.then.us
36
37lbl_134.us:                                       ; preds = %if.then.us
38  br i1 icmp eq (i16 ptrtoint (%struct.S2* @g_128 to i16), i16 0), label %for.cond9.preheader.us-lcssa.us, label %lbl_133.us
39
40if.then.us:                                       ; preds = %lbl_133.us
41  br i1 true, label %for.cond.loopexit4.us-lcssa.us, label %lbl_134.us
42
43if.else14.us-lcssa.us:                            ; preds = %lbl_133.us
44  br label %if.else14
45
46for.cond9.preheader.us-lcssa.us:                  ; preds = %lbl_134.us
47  br label %for.cond9.preheader
48
49for.cond.loopexit4.us-lcssa.us:                   ; preds = %if.then.us
50  br label %for.cond.loopexit4
51
52lbl_133:                                          ; preds = %lbl_134, %for.cond.for.cond.split_crit_edge
53  %l_109.0 = phi i16 [ 0, %for.cond.for.cond.split_crit_edge ], [ ptrtoint (%struct.S2* @g_128 to i16), %lbl_134 ]
54  %tobool = icmp eq i32 undef, 0
55  br i1 %tobool, label %if.else14.us-lcssa, label %if.then
56
57if.then:                                          ; preds = %lbl_133
58  br i1 false, label %for.cond.loopexit4.us-lcssa, label %lbl_134
59
60lbl_134:                                          ; preds = %if.then
61  br i1 icmp eq (i16 ptrtoint (%struct.S2* @g_128 to i16), i16 0), label %for.cond9.preheader.us-lcssa, label %lbl_133
62
63for.cond9.preheader.us-lcssa:                     ; preds = %lbl_134
64  br label %for.cond9.preheader
65
66for.cond9.preheader:                              ; preds = %for.cond9.preheader.us-lcssa, %for.cond9.preheader.us-lcssa.us
67  br i1 undef, label %bb.nph, label %for.cond.loopexit
68
69bb.nph:                                           ; preds = %for.cond9.preheader
70  br label %for.cond.loopexit
71
72if.else14.us-lcssa:                               ; preds = %lbl_133
73  br label %if.else14
74
75if.else14:                                        ; preds = %if.else14.us-lcssa, %if.else14.us-lcssa.us
76  %l_109.0.lcssa = phi i16 [ %l_109.0, %if.else14.us-lcssa ], [ 0, %if.else14.us-lcssa.us ]
77  store i16 undef, i16* @g_106, align 2
78  br label %for.cond.backedge
79
80for.cond.backedge:                                ; preds = %if.else14, %for.cond.loopexit4
81  br label %for.cond
82}
83