Index: src/compiler/scheduler.cc |
diff --git a/src/compiler/scheduler.cc b/src/compiler/scheduler.cc |
index 402995006b410b9f2fc45df9b53f36b00f677acc..242c580aaaf6907bc4aab7d3a69bba50f53dd0aa 100644 |
--- a/src/compiler/scheduler.cc |
+++ b/src/compiler/scheduler.cc |
@@ -865,6 +865,19 @@ static void VerifySpecialRPO(int num_loops, LoopInfo* loops, |
DCHECK(order->size() > 0); |
DCHECK((*order)[0]->id() == 0); // entry should be first. |
+ // All predecessors and successors should be in rpo. |
+ for (BasicBlockVector::iterator i = order->begin(); i != order->end(); ++i) { |
+ BasicBlock* block = *i; |
+ BasicBlock::Predecessors p = block->predecessors(); |
+ for (BasicBlock::Predecessors::iterator j = p.begin(); j != p.end(); ++j) { |
+ DCHECK((*j)->rpo_number_ >= 0); |
+ } |
+ BasicBlock::Successors s = block->successors(); |
+ for (BasicBlock::Successors::iterator j = s.begin(); j != s.end(); ++j) { |
+ DCHECK((*j)->rpo_number_ >= 0); |
+ } |
+ } |
titzer
2014/09/25 14:52:58
Can we put this new code into ScheduleVerifier::Ru
dcarney
2014/09/29 13:29:54
Done.
|
+ |
for (int i = 0; i < num_loops; i++) { |
LoopInfo* loop = &loops[i]; |
BasicBlock* header = loop->header; |