@@ -89,6 +89,29 @@ func.func @view(%arg0 : index, %arg1 : index, %arg2 : index) {
89
89
90
90
// -----
91
91
92
+ // CHECK-LABL: func @view_empty_memref(
93
+ // CHECK: %[[ARG0:.*]]: index,
94
+ // CHECK: %[[ARG1:.*]]: memref<0xi8>)
95
+ func.func @view_empty_memref (%offset: index , %mem: memref <0 xi8 >) {
96
+
97
+ // CHECK: llvm.mlir.undef : !llvm.struct<(ptr<f32>, ptr<f32>, i64, array<2 x i64>, array<2 x i64>)>
98
+ // CHECK: llvm.mlir.constant(0 : index) : i64
99
+ // CHECK: llvm.insertvalue %{{.*}}, %{{.*}}[2] : !llvm.struct<(ptr<f32>, ptr<f32>, i64, array<2 x i64>, array<2 x i64>)>
100
+ // CHECK: llvm.mlir.constant(4 : index) : i64
101
+ // CHECK: llvm.insertvalue %{{.*}}, %{{.*}}[3, 1] : !llvm.struct<(ptr<f32>, ptr<f32>, i64, array<2 x i64>, array<2 x i64>)>
102
+ // CHECK: llvm.mlir.constant(0 : index) : i64
103
+ // CHECK: llvm.insertvalue %{{.*}}, %{{.*}}[4, 1] : !llvm.struct<(ptr<f32>, ptr<f32>, i64, array<2 x i64>, array<2 x i64>)>
104
+ // CHECK: llvm.mlir.constant(0 : index) : i64
105
+ // CHECK: llvm.insertvalue %{{.*}}, %{{.*}}[3, 0] : !llvm.struct<(ptr<f32>, ptr<f32>, i64, array<2 x i64>, array<2 x i64>)>
106
+ // CHECK: llvm.mlir.constant(0 : index) : i64
107
+ // CHECK: = llvm.insertvalue %{{.*}}, %{{.*}}[4, 0] : !llvm.struct<(ptr<f32>, ptr<f32>, i64, array<2 x i64>, array<2 x i64>)>
108
+ %0 = memref.view %mem [%offset ][] : memref <0 xi8 > to memref <0x4x f32 >
109
+
110
+ return
111
+ }
112
+
113
+ // -----
114
+
92
115
// CHECK-LABEL: func @subview(
93
116
// CHECK: %[[MEM:.*]]: memref<{{.*}}>,
94
117
// CHECK: %[[ARG0f:[a-zA-Z0-9]*]]: index,
0 commit comments