diff options
Diffstat (limited to 'compiler/optimizing/nodes.cc')
-rw-r--r-- | compiler/optimizing/nodes.cc | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/compiler/optimizing/nodes.cc b/compiler/optimizing/nodes.cc index 94f197d8f1..c87c78815b 100644 --- a/compiler/optimizing/nodes.cc +++ b/compiler/optimizing/nodes.cc @@ -1693,10 +1693,20 @@ void HGraphVisitor::VisitReversePostOrder() { } void HGraphVisitor::VisitBasicBlock(HBasicBlock* block) { + VisitPhis(block); + VisitNonPhiInstructions(block); +} + +void HGraphVisitor::VisitPhis(HBasicBlock* block) { for (HInstructionIterator it(block->GetPhis()); !it.Done(); it.Advance()) { - it.Current()->Accept(this); + DCHECK(it.Current()->IsPhi()); + VisitPhi(it.Current()->AsPhi()); } +} + +void HGraphVisitor::VisitNonPhiInstructions(HBasicBlock* block) { for (HInstructionIterator it(block->GetInstructions()); !it.Done(); it.Advance()) { + DCHECK(!it.Current()->IsPhi()); it.Current()->Accept(this); } } |