|
6 | 6 | // because the conversion target is set up differently.
|
7 | 7 | // RUN: mlir-opt --convert-to-llvm="filter-dialects=memref" --split-input-file %s | FileCheck --check-prefixes=ALL,CHECK-INTERFACE %s
|
8 | 8 |
|
| 9 | +// TODO: In some (all?) cases, CHECK and CHECK-INTERFACE outputs are identical. |
| 10 | +// Use a common prefix instead (e.g. ALL). |
| 11 | + |
9 | 12 | // CHECK-LABEL: func @view(
|
10 | 13 | // CHECK: %[[ARG0F:.*]]: index, %[[ARG1F:.*]]: index, %[[ARG2F:.*]]: index
|
11 | 14 | // CHECK-INTERFACE-LABEL: func @view(
|
@@ -133,20 +136,20 @@ func.func @view_empty_memref(%offset: index, %mem: memref<0xi8>) {
|
133 | 136 | // -----
|
134 | 137 |
|
135 | 138 | // ALL-LABEL: func.func @view_memref_as_rank0(
|
136 |
| -// ALL-SAME: %[[ARG0:.*]]: index, |
137 |
| -// ALL-SAME: %[[ARG1:.*]]: memref<2xi8>) { |
| 139 | +// ALL-SAME: %[[OFFSET:.*]]: index, |
| 140 | +// ALL-SAME: %[[MEM:.*]]: memref<2xi8>) { |
138 | 141 | func.func @view_memref_as_rank0(%offset: index, %mem: memref<2xi8>) {
|
139 | 142 |
|
140 |
| - // ALL: %[[VAL_0:.*]] = builtin.unrealized_conversion_cast %[[ARG0]] : index to i64 |
141 |
| - // ALL: %[[VAL_1:.*]] = builtin.unrealized_conversion_cast %[[ARG1]] : memref<2xi8> to !llvm.struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)> |
142 |
| - // ALL: %[[VAL_2:.*]] = llvm.mlir.poison : !llvm.struct<(ptr, ptr, i64)> |
143 |
| - // ALL: %[[VAL_3:.*]] = llvm.extractvalue %[[VAL_1]][0] : !llvm.struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)> |
144 |
| - // ALL: %[[VAL_4:.*]] = llvm.insertvalue %[[VAL_3]], %[[VAL_2]][0] : !llvm.struct<(ptr, ptr, i64)> |
145 |
| - // ALL: %[[VAL_5:.*]] = llvm.extractvalue %[[VAL_1]][1] : !llvm.struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)> |
146 |
| - // ALL: %[[VAL_6:.*]] = llvm.getelementptr %[[VAL_5]]{{\[}}%[[VAL_0]]] : (!llvm.ptr, i64) -> !llvm.ptr, i8 |
147 |
| - // ALL: %[[VAL_7:.*]] = llvm.insertvalue %[[VAL_6]], %[[VAL_4]][1] : !llvm.struct<(ptr, ptr, i64)> |
148 |
| - // ALL: %[[VAL_8:.*]] = llvm.mlir.constant(0 : index) : i64 |
149 |
| - // ALL: %[[VAL_9:.*]] = llvm.insertvalue %[[VAL_8]], %[[VAL_7]][2] : !llvm.struct<(ptr, ptr, i64)> |
| 143 | + // ALL: builtin.unrealized_conversion_cast %[[OFFSET]] : index to i64 |
| 144 | + // ALL: builtin.unrealized_conversion_cast %[[MEM]] : memref<2xi8> to !llvm.struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)> |
| 145 | + // ALL: llvm.mlir.poison : !llvm.struct<(ptr, ptr, i64)> |
| 146 | + // ALL: llvm.extractvalue %{{.*}}[0] : !llvm.struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)> |
| 147 | + // ALL: llvm.insertvalue %{{.*}}, %{{.*}}[0] : !llvm.struct<(ptr, ptr, i64)> |
| 148 | + // ALL: llvm.extractvalue %{{.*}}[1] : !llvm.struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)> |
| 149 | + // ALL: llvm.getelementptr %{{.*}}[%{{.*}}] : (!llvm.ptr, i64) -> !llvm.ptr, i8 |
| 150 | + // ALL: llvm.insertvalue %{{.*}}, %{{.*}}[1] : !llvm.struct<(ptr, ptr, i64)> |
| 151 | + // ALL: llvm.mlir.constant(0 : index) : i64 |
| 152 | + // ALL: llvm.insertvalue %{{.*}}, %{{.*}}[2] : !llvm.struct<(ptr, ptr, i64)> |
150 | 153 | %memref_view_bf16 = memref.view %mem[%offset][] : memref<2xi8> to memref<bf16>
|
151 | 154 |
|
152 | 155 | return
|
|
0 commit comments