Mercurial > hg > graal-compiler
changeset 19585:f918e65eb2bb
Simplify scheduleOutOfLoops.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Tue, 24 Feb 2015 00:07:00 +0100 |
parents | 8a764553675d |
children | 3df56ce39922 |
files | graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java |
diffstat | 1 files changed, 11 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- 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; } /**