# HG changeset patch # User Thomas Wuerthinger # Date 1424732820 -3600 # Node ID f918e65eb2bbd7179c59d71d38c257489ff482ff # Parent 8a764553675d0a75632d53cda0c6c3f4fb4bcb76 Simplify scheduleOutOfLoops. diff -r 8a764553675d -r f918e65eb2bb graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java --- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java Tue Feb 24 00:00:24 2015 +0100 +++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java Tue Feb 24 00:07:00 2015 +0100 @@ -704,14 +704,19 @@ } Block cur = latestBlock; Block result = latestBlock; - while (cur.getLoop() != null && cur != earliest && cur.getDominator() != null) { - Block dom = cur.getDominator(); - if (dom.getLoopDepth() < result.getLoopDepth()) { - result = dom; + Loop earliestLoop = earliest.getLoop(); + while (true) { + Loop curLoop = cur.getLoop(); + if (curLoop == earliestLoop) { + return result; + } else { + Block dom = cur.getDominator(); + if (dom.getLoopDepth() < result.getLoopDepth()) { + result = dom; + } + cur = dom; } - cur = dom; } - return result; } /**