@@ -130,31 +130,31 @@ entry:
130
130
131
131
for.i.header:
132
132
%i = phi i64 [ 1 , %entry ], [ %i.next , %for.i.inc ]
133
- %i.inc = add i64 %i , 1
133
+ %i.inc = add nuw nsw i64 %i , 1
134
134
br label %for.j.body
135
135
136
136
for.j.body:
137
137
%j = phi i64 [ 1 , %for.i.header ], [ %j.next , %for.j.body ]
138
- %j.dec = add i64 %j , -1
139
- %a.load.index = getelementptr [256 x [256 x float ]], ptr @A , i64 0 , i64 %i , i64 %j.dec
140
- %b.index = getelementptr [256 x [256 x float ]], ptr @B , i64 0 , i64 %i , i64 %j
141
- %c.load.index = getelementptr [256 x [256 x float ]], ptr @C , i64 0 , i64 %i.inc , i64 %j
142
- %c.store.index = getelementptr [256 x [256 x float ]], ptr @C , i64 0 , i64 %i , i64 %j
138
+ %j.dec = add nsw i64 %j , -1
139
+ %a.load.index = getelementptr inbounds [256 x [256 x float ]], ptr @A , i64 0 , i64 %i , i64 %j.dec
140
+ %b.index = getelementptr inbounds [256 x [256 x float ]], ptr @B , i64 0 , i64 %i , i64 %j
141
+ %c.load.index = getelementptr inbounds [256 x [256 x float ]], ptr @C , i64 0 , i64 %i.inc , i64 %j
142
+ %c.store.index = getelementptr inbounds [256 x [256 x float ]], ptr @C , i64 0 , i64 %i , i64 %j
143
143
%a = load float , ptr %a.load.index
144
144
%b = load float , ptr %b.index
145
145
%c0 = load float , ptr %c.load.index
146
146
%c1 = load float , ptr %c.store.index
147
147
%add.0 = fadd float %a , %b
148
- %a.store.index = getelementptr [256 x [256 x float ]], ptr @A , i64 0 , i64 %i , i64 %j
148
+ %a.store.index = getelementptr inbounds [256 x [256 x float ]], ptr @A , i64 0 , i64 %i , i64 %j
149
149
store float %add.0 , ptr %a.store.index
150
150
%add.1 = fadd float %c0 , %c1
151
151
store float %add.1 , ptr %c.store.index
152
- %j.next = add i64 %j , 1
152
+ %j.next = add nuw nsw i64 %j , 1
153
153
%cmp.j = icmp eq i64 %j.next , 256
154
154
br i1 %cmp.j , label %for.i.inc , label %for.j.body
155
155
156
156
for.i.inc:
157
- %i.next = add i64 %i , 1
157
+ %i.next = add nuw nsw i64 %i , 1
158
158
%cmp.i = icmp eq i64 %i.next , 255
159
159
br i1 %cmp.i , label %exit , label %for.i.header
160
160
@@ -195,27 +195,27 @@ entry:
195
195
196
196
for.i.header:
197
197
%i = phi i64 [ 0 , %entry ], [ %i.inc , %for.i.inc ]
198
- %i.inc = add i64 %i , 1
198
+ %i.inc = add nuw nsw i64 %i , 1
199
199
br label %for.j.header
200
200
201
201
for.j.header:
202
202
%j = phi i64 [ 0 , %for.i.header ], [ %j.inc , %for.j.inc ]
203
- %j.inc = add i64 %j , 1
203
+ %j.inc = add nuw nsw i64 %j , 1
204
204
br label %for.k.body
205
205
206
206
for.k.body:
207
207
%k = phi i64 [ 0 , %for.j.header ], [ %k.inc , %for.k.inc ]
208
- %k.inc = add i64 %k , 1
209
- %k.2 = mul i64 %k , 2
210
- %d.index = getelementptr [256 x [256 x [256 x float ]]], ptr @D , i64 0 , i64 %i.inc , i64 %j.inc , i64 %k.2
211
- %e.index = getelementptr [256 x [256 x [256 x float ]]], ptr @E , i64 0 , i64 %i , i64 %j , i64 %k
208
+ %k.inc = add nuw nsw i64 %k , 1
209
+ %k.2 = mul nuw nsw i64 %k , 2
210
+ %d.index = getelementptr inbounds [256 x [256 x [256 x float ]]], ptr @D , i64 0 , i64 %i.inc , i64 %j.inc , i64 %k.2
211
+ %e.index = getelementptr inbounds [256 x [256 x [256 x float ]]], ptr @E , i64 0 , i64 %i , i64 %j , i64 %k
212
212
%d.load = load float , ptr %d.index
213
213
store float %d.load , ptr %e.index
214
214
%cond = freeze i1 undef
215
215
br i1 %cond , label %if.then , label %for.k.inc
216
216
217
217
if.then:
218
- %d.index2 = getelementptr [256 x [256 x [256 x float ]]], ptr @D , i64 0 , i64 %i , i64 %j , i64 %k.inc
218
+ %d.index2 = getelementptr inbounds [256 x [256 x [256 x float ]]], ptr @D , i64 0 , i64 %i , i64 %j , i64 %k.inc
219
219
store float 1 .0 , ptr %d.index2
220
220
br label %for.k.inc
221
221
0 commit comments