From 3d90c8126f8990490cd25a8a4b67a16b99898970 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Thu, 25 May 2023 08:45:05 +0200 Subject: [PATCH] [mlir][sparse] Fix incorrect API usage in RewritePatterns Incorrect API usage was detected by `MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS`. Differential Revision: https://reviews.llvm.org/D151302 --- mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp b/mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp index 6ee1c1b..ce9490c 100644 --- a/mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp +++ b/mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp @@ -367,7 +367,9 @@ public: if (tensor::isSameTypeWithoutEncoding(srcType, dstType)) { if (Operation *def = op.getSource().getDefiningOp()) { if (def->hasOneUse() && isa(def)) { - def->getResult(0).setType(op->getResultTypes()[0]); + rewriter.updateRootInPlace(def, [&]() { + def->getResult(0).setType(op->getResultTypes()[0]); + }); rewriter.replaceOp(op, def->getResult(0)); return success(); } -- 2.7.4