Mercurial > hg > graal-compiler
changeset 5887:e8628cb6296b
fix to FullUnroll changes
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Fri, 17 Aug 2012 16:11:34 +0200 |
parents | 62f215a79657 |
children | bb373a5fce7e |
files | graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/loop/LoopPolicies.java |
diffstat | 1 files changed, 4 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/loop/LoopPolicies.java Fri Aug 17 15:33:25 2012 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/loop/LoopPolicies.java Fri Aug 17 16:11:34 2012 +0200 @@ -44,15 +44,16 @@ if (!loop.isCounted() || !loop.counted().isConstantMaxTripCount()) { return false; } - long exactTrips = loop.counted().constantMaxTripCount(); - int maxNodes = loop.counted().isConstantExactTripCount() ? GraalOptions.ExactFullUnrollMaxNodes : GraalOptions.FullUnrollMaxNodes; + CountedLoopInfo counted = loop.counted(); + long exactTrips = counted.constantMaxTripCount(); + int maxNodes = (counted.isExactTripCount() && counted.isConstantExactTripCount()) ? GraalOptions.ExactFullUnrollMaxNodes : GraalOptions.FullUnrollMaxNodes; maxNodes = Math.min(maxNodes, GraalOptions.MaximumDesiredSize - loop.loopBegin().graph().getNodeCount()); int size = Math.max(1, loop.size() - 1 - loop.loopBegin().phis().count()); return size * exactTrips <= maxNodes; } public static boolean shouldTryUnswitch(@SuppressWarnings("unused") LoopEx loop) { - // TODO (gd) maybe there should be a may number of unswitching per loop + // TODO (gd) maybe there should be a max number of unswitching per loop return true; }