diff --git a/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp b/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp index be7924e153088..7697e603507a4 100644 --- a/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp +++ b/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp @@ -607,14 +607,15 @@ bool MultiOpPatternRewriteDriver::simplifyLocally(ArrayRef ops) { SmallVector originalOperands, resultValues; while (!worklist.empty()) { Operation *op = popFromWorklist(); - assert((!strictMode || strictModeFilteredOps.contains(op)) && - "unexpected op was inserted under strict mode"); // Nulls get added to the worklist when operations are removed, ignore // them. if (op == nullptr) continue; + assert((!strictMode || strictModeFilteredOps.contains(op)) && + "unexpected op was inserted under strict mode"); + // If the operation is trivially dead - remove it. if (isOpTriviallyDead(op)) { notifyOperationRemoved(op);