diff options
Diffstat (limited to 'compiler/optimizing/nodes.cc')
-rw-r--r-- | compiler/optimizing/nodes.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/optimizing/nodes.cc b/compiler/optimizing/nodes.cc index 82827952ba..376d1af3ef 100644 --- a/compiler/optimizing/nodes.cc +++ b/compiler/optimizing/nodes.cc @@ -194,6 +194,11 @@ void HGraph::SimplifyLoop(HBasicBlock* header) { } pre_header->AddSuccessor(header); } + + // Make sure the second predecessor of a loop header is the back edge. + if (header->GetPredecessors().Get(1) != info->GetBackEdges().Get(0)) { + header->SwapPredecessors(); + } } void HGraph::SimplifyCFG() { |