Index: src/compiler/scheduler.cc |
diff --git a/src/compiler/scheduler.cc b/src/compiler/scheduler.cc |
index c43ed812f9c5cb4f02cef9502102aa2a2399ed51..9d0d7300c13bb3584e846cde1ce501ad9ae026e8 100644 |
--- a/src/compiler/scheduler.cc |
+++ b/src/compiler/scheduler.cc |
@@ -415,8 +415,6 @@ class CFGBuilder { |
IrOpcode::kIfFalse); |
// Consider branch hints. |
- // TODO(turbofan): Propagate the deferred flag to all blocks dominated by |
- // this IfTrue/IfFalse later. |
switch (BranchHintOf(branch->op())) { |
case BranchHint::kNone: |
break; |
@@ -1061,6 +1059,8 @@ void Scheduler::GenerateImmediateDominatorTree() { |
} |
current->set_dominator(dominator); |
current->set_dominator_depth(dominator->dominator_depth() + 1); |
+ // Propagate "deferredness" of the dominator. |
+ if (dominator->deferred()) current->set_deferred(true); |
Trace("Block B%d's idom is B%d, depth = %d\n", current->id().ToInt(), |
dominator->id().ToInt(), current->dominator_depth()); |
} |