# HG changeset patch # User Lukas Stadler # Date 1345212694 -7200 # Node ID e8628cb6296b333707e2b29a8a91a419657a3a34 # Parent 62f215a79657114a46db682cd3d03727d6e7d68d fix to FullUnroll changes diff -r 62f215a79657 -r e8628cb6296b graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/loop/LoopPolicies.java --- 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; }