From 1949856126df50c0ea4ee2f507d24613bd54824a Mon Sep 17 00:00:00 2001 From: Aart Bik Date: Thu, 2 May 2024 18:21:00 -0700 Subject: [PATCH] [mlir][sparse] add linalg elt-wise fusion to sparsifier pipeline (#90924) yields better IR in general, and all end-to-end tests pass! --- .../Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp b/mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp index e58503d508ce..ab4d90ec745d 100644 --- a/mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp +++ b/mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp @@ -31,8 +31,9 @@ void mlir::sparse_tensor::buildSparsifier(OpPassManager &pm, const SparsifierOptions &options) { - // Rewrite named linalg ops into generic ops. + // Rewrite named linalg ops into generic ops and apply fusion. pm.addNestedPass(createLinalgGeneralizeNamedOpsPass()); + pm.addNestedPass(createLinalgElementwiseOpFusionPass()); // Sparsification and bufferization mini-pipeline. pm.addPass(createSparsificationAndBufferizationPass(