public abstract class LoopPolicies extends Object
Modifier and Type | Class and Description |
---|---|
private static class |
LoopPolicies.CountingClosure |
private static class |
LoopPolicies.IsolatedInitialization |
Modifier and Type | Field and Description |
---|---|
static OptionValue<Integer> |
ExactFullUnrollMaxNodes |
static OptionValue<Integer> |
FullUnrollMaxIterations |
static OptionValue<Integer> |
FullUnrollMaxNodes |
static OptionValue<Double> |
LoopUnswitchFrequencyBoost |
static OptionValue<Integer> |
LoopUnswitchMaxIncrease |
static OptionValue<Integer> |
LoopUnswitchTrivial |
Modifier | Constructor and Description |
---|---|
private |
LoopPolicies() |
Modifier and Type | Method and Description |
---|---|
static boolean |
shouldFullUnroll(LoopEx loop) |
static boolean |
shouldPeel(LoopEx loop,
ControlFlowGraph cfg) |
static boolean |
shouldTryUnswitch(LoopEx loop) |
static boolean |
shouldUnswitch(LoopEx loop,
List<ControlSplitNode> controlSplits) |
public static final OptionValue<Integer> LoopUnswitchMaxIncrease
public static final OptionValue<Integer> LoopUnswitchTrivial
public static final OptionValue<Double> LoopUnswitchFrequencyBoost
public static final OptionValue<Integer> FullUnrollMaxNodes
public static final OptionValue<Integer> FullUnrollMaxIterations
public static final OptionValue<Integer> ExactFullUnrollMaxNodes
private LoopPolicies()
public static boolean shouldPeel(LoopEx loop, ControlFlowGraph cfg)
public static boolean shouldFullUnroll(LoopEx loop)
public static boolean shouldTryUnswitch(LoopEx loop)
public static boolean shouldUnswitch(LoopEx loop, List<ControlSplitNode> controlSplits)