[Mlir-commits] [mlir] [mlir][EmitC] Fix invalid rewriter API usage (PR #76124)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Wed Dec 20 21:19:13 PST 2023
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-mlir-emitc
Author: Matthias Springer (matthias-springer)
<details>
<summary>Changes</summary>
When operations are modified in-place, the rewriter must be notified. This commit fixes `mlir/test/Dialect/EmitC/transforms.mlir` when running with `MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS` enabled.
---
Full diff: https://github.com/llvm/llvm-project/pull/76124.diff
1 Files Affected:
- (modified) mlir/lib/Dialect/EmitC/Transforms/Transforms.cpp (+1-4)
``````````diff
diff --git a/mlir/lib/Dialect/EmitC/Transforms/Transforms.cpp b/mlir/lib/Dialect/EmitC/Transforms/Transforms.cpp
index 593d774cac73bd..88b691b50f325d 100644
--- a/mlir/lib/Dialect/EmitC/Transforms/Transforms.cpp
+++ b/mlir/lib/Dialect/EmitC/Transforms/Transforms.cpp
@@ -96,10 +96,7 @@ struct FoldExpressionOp : public OpRewritePattern<ExpressionOp> {
assert(clonedExpressionRootOp->getNumResults() == 1 &&
"Expected cloned root to have a single result");
- Value clonedExpressionResult = clonedExpressionRootOp->getResult(0);
-
- usedExpression.getResult().replaceAllUsesWith(clonedExpressionResult);
- rewriter.eraseOp(usedExpression);
+ rewriter.replaceOp(usedExpression, clonedExpressionRootOp);
anythingFolded = true;
}
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/76124
More information about the Mlir-commits
mailing list