[Mlir-commits] [mlir] d8d0929 - [mlir][EmitC] Fix invalid rewriter API usage (#76124)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Wed Dec 20 23:00:22 PST 2023


Author: Matthias Springer
Date: 2023-12-21T16:00:18+09:00
New Revision: d8d09296ed8139c6c91ed7e467764ce7375f6667

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

LOG: [mlir][EmitC] Fix invalid rewriter API usage (#76124)

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.

Added: 
    

Modified: 
    mlir/lib/Dialect/EmitC/Transforms/Transforms.cpp

Removed: 
    


################################################################################
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;
       }
     }


        


More information about the Mlir-commits mailing list