52
52
br label %outer.header
53
53
54
54
outer.header:
55
- %i = phi i64 [ 0 , %entry ], [ %i.next , %outer.exit ]
55
+ %i = phi i64 [ 0 , %entry ], [ %i.next , %outer.latch ]
56
56
%0 = add nuw nsw i64 %i , 1024
57
57
br label %inner.body
58
58
@@ -69,9 +69,9 @@ inner.body:
69
69
store float %add9 , ptr %arrayidx8 , align 4
70
70
%j.next = add nuw nsw i64 %j , 1
71
71
%exitcond.not = icmp eq i64 %j.next , 256
72
- br i1 %exitcond.not , label %outer.exit , label %inner.body
72
+ br i1 %exitcond.not , label %outer.latch , label %inner.body
73
73
74
- outer.exit :
74
+ outer.latch :
75
75
%i.next = add nuw nsw i64 %i , 1
76
76
%outerexitcond.not = icmp eq i64 %i.next , 64257
77
77
br i1 %outerexitcond.not , label %exit , label %outer.header
@@ -127,18 +127,10 @@ entry:
127
127
br label %outer.header
128
128
129
129
outer.header:
130
- %i = phi i64 [ 0 , %entry ], [ %i.next , %outer.exit ]
130
+ %i = phi i64 [ 0 , %entry ], [ %i.next , %outer.latch ]
131
131
%0 = add nuw nsw i64 %i , 256
132
132
br label %inner.body
133
133
134
- exit:
135
- ret void
136
-
137
- outer.exit:
138
- %i.next = add nuw nsw i64 %i , 1
139
- %exitcond29.not = icmp eq i64 %i.next , 65536
140
- br i1 %exitcond29.not , label %exit , label %outer.header
141
-
142
134
inner.body:
143
135
%j = phi i64 [ 0 , %outer.header ], [ %j.next , %inner.body ]
144
136
%1 = shl nuw nsw i64 %j , 2
@@ -152,5 +144,13 @@ inner.body:
152
144
store float %add9 , ptr %arrayidx8 , align 4
153
145
%j.next = add nuw nsw i64 %j , 1
154
146
%exitcond.not = icmp eq i64 %j.next , 256
155
- br i1 %exitcond.not , label %outer.exit , label %inner.body
147
+ br i1 %exitcond.not , label %outer.latch , label %inner.body
148
+
149
+ outer.latch:
150
+ %i.next = add nuw nsw i64 %i , 1
151
+ %exitcond29.not = icmp eq i64 %i.next , 65536
152
+ br i1 %exitcond29.not , label %exit , label %outer.header
153
+
154
+ exit:
155
+ ret void
156
156
}
0 commit comments