diff --git a/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp b/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp --- a/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp +++ b/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp @@ -306,6 +306,8 @@ // Iterate until convergence or until maxIterations. Deletion of the op as // a result of being dead or folded is convergence. do { + changed = false; + // If the operation is trivially dead - remove it. if (isOpTriviallyDead(op)) { op->erase();