diff --git a/mlir/lib/Dialect/EmitC/Transforms/Transforms.cpp b/mlir/lib/Dialect/EmitC/Transforms/Transforms.cpp index 593d774cac73b..88b691b50f325 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 { 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; } }