From 1ab2b0075dfc23b3e575993907967b8f78053453 Mon Sep 17 00:00:00 2001 From: Peiming Liu Date: Thu, 22 Sep 2022 22:03:34 +0000 Subject: [PATCH] [mlir][sparse] Mark sparse_tensor.concatenate as NoSideEffect Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D134486 --- .../include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td | 2 +- mlir/test/Dialect/SparseTensor/fold.mlir | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td b/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td index 302b56a..a27cd02 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:$inputs, IndexAttr:$dimension)>, Results<(outs AnyRankedTensor:$result)> { diff --git a/mlir/test/Dialect/SparseTensor/fold.mlir b/mlir/test/Dialect/SparseTensor/fold.mlir index 9b61630e..58900ad 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 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 +} + -- 2.7.4