Skip to content

Commit 1ac951e

Browse files
address comments
1 parent 48a9cdd commit 1ac951e

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ func.func @subview_const_stride(%0 : memref<64x4xf32, strided<[4, 1], offset: 0>
192192

193193
// CHECK-LABEL: func @subview_const_stride_and_offset(
194194
// CHECK-SAME: %[[MEM:.*]]: memref<{{.*}}>
195-
func.func @subview_const_stride_and_offset(%0 : memref<64x4xf32, strided<[4, 1], offset: 0>>) -> memref<62x3xf32, strided<[4, 1], offset: 1>> {
195+
func.func @subview_const_stride_and_offset(%0 : memref<64x8xf32, strided<[8, 1], offset: 0>>) -> memref<62x3xf32, strided<[8, 1], offset: 2>> {
196196
// The last "insertvalue" that populates the memref descriptor from the function arguments.
197197
// CHECK: %[[MEMREF:.*]] = builtin.unrealized_conversion_cast %[[MEM]]
198198

@@ -201,20 +201,21 @@ func.func @subview_const_stride_and_offset(%0 : memref<64x4xf32, strided<[4, 1],
201201
// CHECK: %[[DESC:.*]] = llvm.mlir.poison : !llvm.struct<(ptr, ptr, i64, array<2 x i64>, array<2 x i64>)>
202202
// CHECK: %[[DESC0:.*]] = llvm.insertvalue %[[BASE]], %[[DESC]][0] : !llvm.struct<(ptr, ptr, i64, array<2 x i64>, array<2 x i64>)>
203203
// CHECK: %[[DESC1:.*]] = llvm.insertvalue %[[BASE_ALIGNED]], %[[DESC0]][1] : !llvm.struct<(ptr, ptr, i64, array<2 x i64>, array<2 x i64>)>
204-
// CHECK: %[[C1:.*]] = llvm.mlir.constant(1 : index) : i64
205-
// CHECK: %[[DESC2:.*]] = llvm.insertvalue %[[C1]], %[[DESC1]][2] : !llvm.struct<(ptr, ptr, i64, array<2 x i64>, array<2 x i64>)>
204+
// CHECK: %[[CST_OFF:.*]] = llvm.mlir.constant(2 : index) : i64
205+
// CHECK: %[[DESC2:.*]] = llvm.insertvalue %[[CST_OFF]], %[[DESC1]][2] : !llvm.struct<(ptr, ptr, i64, array<2 x i64>, array<2 x i64>)>
206206
// CHECK: %[[CST_SIZE0:.*]] = llvm.mlir.constant(62 : index) : i64
207207
// CHECK: %[[DESC3:.*]] = llvm.insertvalue %[[CST_SIZE0]], %[[DESC2]][3, 0] : !llvm.struct<(ptr, ptr, i64, array<2 x i64>, array<2 x i64>)>
208-
// CHECK: %[[CST_STRIDE0:.*]] = llvm.mlir.constant(4 : index) : i64
208+
// CHECK: %[[CST_STRIDE0:.*]] = llvm.mlir.constant(8 : index) : i64
209209
// CHECK: %[[DESC4:.*]] = llvm.insertvalue %[[CST_STRIDE0]], %[[DESC3]][4, 0] : !llvm.struct<(ptr, ptr, i64, array<2 x i64>, array<2 x i64>)>
210210
// CHECK: %[[CST_SIZE1:.*]] = llvm.mlir.constant(3 : index) : i64
211211
// CHECK: %[[DESC5:.*]] = llvm.insertvalue %[[CST_SIZE1]], %[[DESC4]][3, 1] : !llvm.struct<(ptr, ptr, i64, array<2 x i64>, array<2 x i64>)>
212-
// CHECK: %[[DESC6:.*]] = llvm.insertvalue %[[C1]], %[[DESC5]][4, 1] : !llvm.struct<(ptr, ptr, i64, array<2 x i64>, array<2 x i64>)>
212+
// CHECK: %[[CST_STRIDE1:.*]] = llvm.mlir.constant(1 : index) : i64
213+
// CHECK: %[[DESC6:.*]] = llvm.insertvalue %[[CST_STRIDE1]], %[[DESC5]][4, 1] : !llvm.struct<(ptr, ptr, i64, array<2 x i64>, array<2 x i64>)>
213214

214-
%1 = memref.subview %0[0, 1][62, 3][1, 1] :
215-
memref<64x4xf32, strided<[4, 1], offset: 0>>
216-
to memref<62x3xf32, strided<[4, 1], offset: 1>>
217-
return %1 : memref<62x3xf32, strided<[4, 1], offset: 1>>
215+
%1 = memref.subview %0[0, 2][62, 3][1, 1] :
216+
memref<64x8xf32, strided<[8, 1], offset: 0>>
217+
to memref<62x3xf32, strided<[8, 1], offset: 2>>
218+
return %1 : memref<62x3xf32, strided<[8, 1], offset: 2>>
218219
}
219220

220221
// -----
@@ -237,8 +238,8 @@ func.func @subview_mixed_static_dynamic(%0 : memref<64x4xf32, strided<[4, 1], of
237238
// CHECK: %[[TMP:.*]] = builtin.unrealized_conversion_cast %[[DESCSTRIDE0]] : i64 to index
238239
// CHECK: %[[DESCSTRIDE0_V2:.*]] = builtin.unrealized_conversion_cast %[[TMP]] : index to i64
239240
// CHECK: %[[OFF0:.*]] = llvm.mul %[[ARG1]], %[[STRIDE0]] overflow<nsw> : i64
240-
// CHECK: %[[C1:.*]] = llvm.mlir.constant(1 : index) : i64
241-
// CHECK: %[[OFF2:.*]] = llvm.add %[[OFF0]], %[[C1]] : i64
241+
// CHECK: %[[BASE_OFF:.*]] = llvm.mlir.constant(2 : index) : i64
242+
// CHECK: %[[OFF2:.*]] = llvm.add %[[OFF0]], %[[BASE_OFF]] : i64
242243
// CHECK: %[[TMP:.*]] = builtin.unrealized_conversion_cast %[[OFF2]] : i64 to index
243244
// CHECK: %[[OFF2:.*]] = builtin.unrealized_conversion_cast %[[TMP]] : index to i64
244245
// CHECK: %[[DESC:.*]] = llvm.mlir.poison : !llvm.struct<(ptr, ptr, i64, array<2 x i64>, array<2 x i64>)>
@@ -249,9 +250,10 @@ func.func @subview_mixed_static_dynamic(%0 : memref<64x4xf32, strided<[4, 1], of
249250
// CHECK: %[[DESC3:.*]] = llvm.insertvalue %[[CST_SIZE0]], %[[DESC2]][3, 0] : !llvm.struct<(ptr, ptr, i64, array<2 x i64>, array<2 x i64>)>
250251
// CHECK: %[[DESC4:.*]] = llvm.insertvalue %[[DESCSTRIDE0_V2]], %[[DESC3]][4, 0] : !llvm.struct<(ptr, ptr, i64, array<2 x i64>, array<2 x i64>)>
251252
// CHECK: %[[DESC5:.*]] = llvm.insertvalue %[[ARG2]], %[[DESC4]][3, 1] : !llvm.struct<(ptr, ptr, i64, array<2 x i64>, array<2 x i64>)>
252-
// CHECK: %[[DESC6:.*]] = llvm.insertvalue %[[C1]], %[[DESC5]][4, 1] : !llvm.struct<(ptr, ptr, i64, array<2 x i64>, array<2 x i64>)>
253+
// CHECK: %[[CST_STRIDE1:.*]] = llvm.mlir.constant(1 : index) : i64
254+
// CHECK: %[[DESC6:.*]] = llvm.insertvalue %[[CST_STRIDE1]], %[[DESC5]][4, 1] : !llvm.struct<(ptr, ptr, i64, array<2 x i64>, array<2 x i64>)>
253255

254-
%1 = memref.subview %0[%arg1, 1][62, %arg2][%arg0, 1] :
256+
%1 = memref.subview %0[%arg1, 2][62, %arg2][%arg0, 1] :
255257
memref<64x4xf32, strided<[4, 1], offset: 0>>
256258
to memref<62x?xf32, strided<[?, 1], offset: ?>>
257259
return %1 : memref<62x?xf32, strided<[?, 1], offset: ?>>

0 commit comments

Comments
 (0)