Index: src/compiler/graph-reducer.cc |
diff --git a/src/compiler/graph-reducer.cc b/src/compiler/graph-reducer.cc |
index 1be0b6dec7b6ecbfe4d38a3d19f9e7329dc69fdb..6f583d6b6ac4e3f59a2c94ed847c8b600b2f8c75 100644 |
--- a/src/compiler/graph-reducer.cc |
+++ b/src/compiler/graph-reducer.cc |
@@ -23,6 +23,9 @@ enum class GraphReducer::State : uint8_t { |
}; |
+void Reducer::Finalize() {} |
+ |
+ |
GraphReducer::GraphReducer(Zone* zone, Graph* graph, Node* dead) |
: graph_(graph), |
dead_(dead), |
@@ -58,7 +61,11 @@ void GraphReducer::ReduceNode(Node* node) { |
Push(node); |
} |
} else { |
- break; |
+ // Run all finalizers. |
+ for (Reducer* const reducer : reducers_) reducer->Finalize(); |
+ |
+ // Check if we have new nodes to revisit. |
+ if (revisit_.empty()) break; |
} |
} |
DCHECK(revisit_.empty()); |