Index: src/compiler/scheduler.cc |
diff --git a/src/compiler/scheduler.cc b/src/compiler/scheduler.cc |
index c43ed812f9c5cb4f02cef9502102aa2a2399ed51..569a148c4f6444a889d2f79357feb49b65542a8b 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; |
@@ -1063,6 +1061,8 @@ void Scheduler::GenerateImmediateDominatorTree() { |
current->set_dominator_depth(dominator->dominator_depth() + 1); |
Trace("Block B%d's idom is B%d, depth = %d\n", current->id().ToInt(), |
dominator->id().ToInt(), current->dominator_depth()); |
+ // Propagate "deferredness" of the dominator. |
+ if (dominator->deferred()) current->set_deferred(true); |
Michael Starzinger
2014/11/05 10:40:12
nit: Please move this to before the tracing (i.e.
|
} |
} |