[all-commits] [llvm/llvm-project] 851f85: [mlir][SparseTensor] Fix insertion point in `creat...
Matthias Springer via All-commits
all-commits at lists.llvm.org
Wed Dec 6 15:47:18 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 851f85fffb25143c267dcdbf6acd1916321ad308
https://github.com/llvm/llvm-project/commit/851f85fffb25143c267dcdbf6acd1916321ad308
Author: Matthias Springer <me at m-sp.org>
Date: 2023-12-07 (Thu, 07 Dec 2023)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseBufferRewriting.cpp
Log Message:
-----------
[mlir][SparseTensor] Fix insertion point in `createQuickSort` (#74549)
`createQuickSort` used to generate invalid IR:
```
"func.func"() <{function_type = (index, index, memref<?xindex>, memref<?xf32>, memref<?xi32>) -> (), sym_name = "_sparse_qsort_0_1_index_coo_1_f32_i32", sym_visibility = "private"}> ({
^bb0(%arg0: index, %arg1: index, %arg2: memref<?xindex>, %arg3: memref<?xf32>, %arg4: memref<?xi32>):
%0:2 = "scf.while"(%arg0, %arg1) ({
^bb0(%arg5: index, %arg6: index):
// ...
"scf.condition"(%3, %arg5, %arg6) : (i1, index, index) -> ()
}, {
^bb0(%arg5: index, %arg6: index):
// ...
%7:2 = "scf.if"(%6) ({
%8 = "arith.cmpi"(%2, %3) <{predicate = 7 : i64}> : (index, index) -> i1
// ...
"scf.yield"(%9#0, %9#1) : (index, index) -> ()
%10 = "arith.constant"() <{value = 0 : index}> : () -> index
}, {
"scf.yield"(%arg5, %arg5) : (index, index) -> ()
}) : (i1) -> (index, index)
"scf.yield"(%7#0, %7#1) : (index, index) -> ()
}) : (index, index) -> (index, index)
"func.return"() : () -> ()
}) : () -> ()
within split at mlir/test/Dialect/SparseTensor/buffer_rewriting.mlir:76 offset :11:1: error: 'scf.yield' op must be the last operation in the parent block
```
This commit fixes tests such as
`mlir/test/Dialect/SparseTensor/buffer_rewriting.mlir` when verifying
the IR after each pattern application (#74270).
More information about the All-commits
mailing list