[Mlir-commits] [mlir] 1ab2b00 - [mlir][sparse] Mark sparse_tensor.concatenate as NoSideEffect

Peiming Liu llvmlistbot at llvm.org
Thu Sep 22 15:25:03 PDT 2022


Author: Peiming Liu
Date: 2022-09-22T22:24:55Z
New Revision: 1ab2b0075dfc23b3e575993907967b8f78053453

URL: https://github.com/llvm/llvm-project/commit/1ab2b0075dfc23b3e575993907967b8f78053453
DIFF: https://github.com/llvm/llvm-project/commit/1ab2b0075dfc23b3e575993907967b8f78053453.diff

LOG: [mlir][sparse] Mark sparse_tensor.concatenate as NoSideEffect

Reviewed By: aartbik

Differential Revision: https://reviews.llvm.org/D134486

Added: 
    

Modified: 
    mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
    mlir/test/Dialect/SparseTensor/fold.mlir

Removed: 
    


################################################################################
diff  --git a/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td b/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
index 302b56a22b15..a27cd02ae37b 100644
--- a/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
+++ b/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
@@ -161,7 +161,7 @@ def SparseTensor_ToValuesOp : SparseTensor_Op<"values", [NoSideEffect]>,
   let hasVerifier = 1;
 }
 
-def SparseTensor_ConcatenateOp : SparseTensor_Op<"concatenate", []>,
+def SparseTensor_ConcatenateOp : SparseTensor_Op<"concatenate", [NoSideEffect]>,
     Arguments<(ins Variadic<AnyRankedTensor>:$inputs, IndexAttr:$dimension)>,
     Results<(outs AnyRankedTensor:$result)> {
 

diff  --git a/mlir/test/Dialect/SparseTensor/fold.mlir b/mlir/test/Dialect/SparseTensor/fold.mlir
index 9b61630e5ac1..58900ad233cf 100644
--- a/mlir/test/Dialect/SparseTensor/fold.mlir
+++ b/mlir/test/Dialect/SparseTensor/fold.mlir
@@ -32,3 +32,16 @@ func.func @sparse_dce_getters(%arg0: tensor<64xf32, #SparseVector>) {
   %2 = sparse_tensor.values %arg0 : tensor<64xf32, #SparseVector> to memref<?xf32>
   return
 }
+// CHECK-LABEL: func @sparse_concat_dce(
+//   CHECK-NOT: sparse_tensor.concatenate
+//       CHECK: return
+func.func @sparse_concat_dce(%arg0: tensor<2xf64, #SparseVector>,
+                             %arg1: tensor<3xf64, #SparseVector>,
+                             %arg2: tensor<4xf64, #SparseVector>) {
+  %0 = sparse_tensor.concatenate %arg0, %arg1, %arg2 {dimension = 0 : index}
+       : tensor<2xf64, #SparseVector>,
+         tensor<3xf64, #SparseVector>,
+         tensor<4xf64, #SparseVector> to tensor<9xf64, #SparseVector>
+  return
+}
+


        


More information about the Mlir-commits mailing list