diff --git a/mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp b/mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp --- a/mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp +++ b/mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp @@ -358,9 +358,12 @@ protected: void notifyOperationRemoved(Operation *op) override { - erasedOps.insert(op); - // Erase if present. - toMemrefOps.erase(op); + // TODO: Walk can be removed when D144193 has landed. + op->walk([&](Operation *op) { + erasedOps.insert(op); + // Erase if present. + toMemrefOps.erase(op); + }); } void notifyOperationInserted(Operation *op) override {