@@ -213,9 +213,10 @@ module {
213
213
loop.parallel (%arg3 , %arg4 ) = (%c0 , %c0 ) to (%0 , %1 ) step (%c2 , %c3 ) {
214
214
%2 = dim %arg0 , 0 : memref <?x?xf32 , #map0 >
215
215
%3 = affine.min #map1 (%arg3 )[%2 ]
216
+ %squared_min = muli %3 , %3 : index
216
217
%4 = dim %arg0 , 1 : memref <?x?xf32 , #map0 >
217
218
%5 = affine.min #map2 (%arg4 )[%4 ]
218
- %6 = std.subview %arg0 [%arg3 , %arg4 ][%3 , %5 ][%c1 , %c1 ] : memref <?x?xf32 , #map0 > to memref <?x?xf32 , #map3 >
219
+ %6 = std.subview %arg0 [%arg3 , %arg4 ][%squared_min , %5 ][%c1 , %c1 ] : memref <?x?xf32 , #map0 > to memref <?x?xf32 , #map3 >
219
220
%7 = dim %arg1 , 0 : memref <?x?xf32 , #map0 >
220
221
%8 = affine.min #map1 (%arg3 )[%7 ]
221
222
%9 = dim %arg1 , 1 : memref <?x?xf32 , #map0 >
@@ -226,7 +227,7 @@ module {
226
227
%14 = dim %arg2 , 1 : memref <?x?xf32 , #map0 >
227
228
%15 = affine.min #map2 (%arg4 )[%14 ]
228
229
%16 = std.subview %arg2 [%arg3 , %arg4 ][%13 , %15 ][%c1 , %c1 ] : memref <?x?xf32 , #map0 > to memref <?x?xf32 , #map3 >
229
- loop.parallel (%arg5 , %arg6 ) = (%c0 , %c0 ) to (%3 , %5 ) step (%c1 , %c1 ) {
230
+ loop.parallel (%arg5 , %arg6 ) = (%c0 , %c0 ) to (%squared_min , %5 ) step (%c1 , %c1 ) {
230
231
%17 = load %6 [%arg5 , %arg6 ] : memref <?x?xf32 , #map3 >
231
232
%18 = load %11 [%arg5 , %arg6 ] : memref <?x?xf32 , #map3 >
232
233
%19 = load %16 [%arg5 , %arg6 ] : memref <?x?xf32 , #map3 >
@@ -259,7 +260,7 @@ module {
259
260
// CHECK: [[VAL_9:%.*]] = constant 1 : index
260
261
// CHECK: [[VAL_10:%.*]] = affine.apply #[[MAP1]](){{\[}}[[VAL_7]], [[VAL_4]], [[VAL_6]]]
261
262
// CHECK: [[VAL_11:%.*]] = affine.apply #[[MAP1]](){{\[}}[[VAL_8]], [[VAL_4]], [[VAL_5]]]
262
- // CHECK: [[VAL_12:%.*]] = constant 2 : index
263
+ // CHECK: [[VAL_12:%.*]] = constant 4 : index
263
264
// CHECK: [[VAL_13:%.*]] = affine.apply #[[MAP1]](){{\[}}[[VAL_12]], [[VAL_4]], [[VAL_3]]]
264
265
// CHECK: [[VAL_14:%.*]] = constant 3 : index
265
266
// CHECK: [[VAL_15:%.*]] = affine.apply #[[MAP1]](){{\[}}[[VAL_14]], [[VAL_4]], [[VAL_3]]]
@@ -268,9 +269,10 @@ module {
268
269
// CHECK: [[VAL_29:%.*]] = affine.apply #[[MAP2]]([[VAL_17]]){{\[}}[[VAL_5]], [[VAL_4]]]
269
270
// CHECK: [[VAL_30:%.*]] = dim [[VAL_0]], 0 : memref<?x?xf32, #[[MAP0]]>
270
271
// CHECK: [[VAL_31:%.*]] = affine.min #[[MAP3]]([[VAL_28]]){{\[}}[[VAL_30]]]
272
+ // CHECK: [[VAL_31_SQUARED:%.*]] = muli [[VAL_31]], [[VAL_31]] : index
271
273
// CHECK: [[VAL_32:%.*]] = dim [[VAL_0]], 1 : memref<?x?xf32, #[[MAP0]]>
272
274
// CHECK: [[VAL_33:%.*]] = affine.min #[[MAP4]]([[VAL_29]]){{\[}}[[VAL_32]]]
273
- // CHECK: [[VAL_34:%.*]] = subview [[VAL_0]]{{\[}}[[VAL_28]], [[VAL_29]]] {{\[}}[[VAL_31 ]], [[VAL_33]]] {{\[}}[[VAL_3]], [[VAL_3]]] : memref<?x?xf32, #[[MAP0]]> to memref<?x?xf32, #[[MAP5]]>
275
+ // CHECK: [[VAL_34:%.*]] = subview [[VAL_0]]{{\[}}[[VAL_28]], [[VAL_29]]] {{\[}}[[VAL_31_SQUARED ]], [[VAL_33]]] {{\[}}[[VAL_3]], [[VAL_3]]] : memref<?x?xf32, #[[MAP0]]> to memref<?x?xf32, #[[MAP5]]>
274
276
// CHECK: [[VAL_35:%.*]] = dim [[VAL_1]], 0 : memref<?x?xf32, #[[MAP0]]>
275
277
// CHECK: [[VAL_36:%.*]] = affine.min #[[MAP3]]([[VAL_28]]){{\[}}[[VAL_35]]]
276
278
// CHECK: [[VAL_37:%.*]] = dim [[VAL_1]], 1 : memref<?x?xf32, #[[MAP0]]>
@@ -282,7 +284,7 @@ module {
282
284
// CHECK: [[VAL_43:%.*]] = affine.min #[[MAP4]]([[VAL_29]]){{\[}}[[VAL_42]]]
283
285
// CHECK: [[VAL_44:%.*]] = subview [[VAL_2]]{{\[}}[[VAL_28]], [[VAL_29]]] {{\[}}[[VAL_41]], [[VAL_43]]] {{\[}}[[VAL_3]], [[VAL_3]]] : memref<?x?xf32, #[[MAP0]]> to memref<?x?xf32, #[[MAP5]]>
284
286
// CHECK: [[VAL_45:%.*]] = affine.apply #[[MAP2]]([[VAL_22]]){{\[}}[[VAL_3]], [[VAL_4]]]
285
- // CHECK: [[VAL_46:%.*]] = cmpi "slt", [[VAL_45]], [[VAL_31 ]] : index
287
+ // CHECK: [[VAL_46:%.*]] = cmpi "slt", [[VAL_45]], [[VAL_31_SQUARED ]] : index
286
288
// CHECK: loop.if [[VAL_46]] {
287
289
// CHECK: [[VAL_47:%.*]] = affine.apply #[[MAP2]]([[VAL_23]]){{\[}}[[VAL_3]], [[VAL_4]]]
288
290
// CHECK: [[VAL_48:%.*]] = cmpi "slt", [[VAL_47]], [[VAL_33]] : index
0 commit comments