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 @@ -299,13 +299,15 @@ LogicalResult OpPatternRewriteDriver::simplifyLocally(Operation *op, int maxIterations, bool &erased) { - bool changed = false; + bool changed; erased = false; opErasedViaPatternRewrites = false; int i = 0; // 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();