Index: src/compiler/scheduler.cc |
diff --git a/src/compiler/scheduler.cc b/src/compiler/scheduler.cc |
index 1ee1e2d3d54f58e9b165d43100280553bbf37cbd..d1da320bd0d48dd23e299a2de1ff52a75f207d96 100644 |
--- a/src/compiler/scheduler.cc |
+++ b/src/compiler/scheduler.cc |
@@ -1002,6 +1002,12 @@ class ScheduleEarlyNodeVisitor { |
// No need to propagate to fixed node, it's guaranteed to be a root. |
if (scheduler_->GetPlacement(node) == Scheduler::kFixed) return; |
+ // Coupled nodes influence schedule early position of their control. |
+ if (scheduler_->GetPlacement(node) == Scheduler::kCoupled) { |
+ Node* control = NodeProperties::GetControlInput(node); |
+ PropagateMinimumRPOToNode(block, control); |
+ } |
+ |
// Propagate new position if it is larger than the current. |
if (block->rpo_number() > data->minimum_block_->rpo_number()) { |
data->minimum_block_ = block; |