Mercurial > hg > truffle
changeset 19651:a0284c1724e6
Introduce LIROptimization option to disable all LIR optimization.
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Thu, 26 Feb 2015 17:39:00 +0100 |
parents | d0600f479309 |
children | 0a6b0e662e0a 84776a6314d7 96ab2078eeaf |
files | graal/com.oracle.graal.lir/src/com/oracle/graal/lir/constopt/ConstantLoadOptimization.java graal/com.oracle.graal.lir/src/com/oracle/graal/lir/phases/LIRPhase.java graal/com.oracle.graal.lir/src/com/oracle/graal/lir/phases/PostAllocationOptimizationStage.java graal/com.oracle.graal.lir/src/com/oracle/graal/lir/stackslotalloc/LSStackSlotAllocator.java |
diffstat | 4 files changed, 18 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/constopt/ConstantLoadOptimization.java Mon Mar 02 14:03:56 2015 +0100 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/constopt/ConstantLoadOptimization.java Thu Feb 26 17:39:00 2015 +0100 @@ -24,6 +24,7 @@ import static com.oracle.graal.api.code.ValueUtil.*; import static com.oracle.graal.lir.LIRValueUtil.*; +import static com.oracle.graal.lir.phases.LIRPhase.Options.*; import java.util.*; @@ -52,7 +53,7 @@ public static class Options { // @formatter:off @Option(help = "Enable constant load optimization.", type = OptionType.Debug) - public static final OptionValue<Boolean> LIROptConstantLoadOptimization = new OptionValue<>(true); + public static final NestedBooleanOptionValue LIROptConstantLoadOptimization = new NestedBooleanOptionValue(LIROptimization, true); // @formatter:on }
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/phases/LIRPhase.java Mon Mar 02 14:03:56 2015 +0100 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/phases/LIRPhase.java Thu Feb 26 17:39:00 2015 +0100 @@ -33,6 +33,7 @@ import com.oracle.graal.debug.internal.*; import com.oracle.graal.lir.*; import com.oracle.graal.lir.gen.*; +import com.oracle.graal.options.*; /** * Base class for all {@link LIR low-level} phases. Subclasses should be stateless. There will be @@ -40,6 +41,13 @@ */ public abstract class LIRPhase<C> { + public static class Options { + // @formatter:off + @Option(help = "Enable LIR level optimiztations.", type = OptionType.Debug) + public static final OptionValue<Boolean> LIROptimization = new OptionValue<>(true); + // @formatter:on + } + private static final int PHASE_DUMP_LEVEL = 2; private CharSequence name;
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/phases/PostAllocationOptimizationStage.java Mon Mar 02 14:03:56 2015 +0100 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/phases/PostAllocationOptimizationStage.java Thu Feb 26 17:39:00 2015 +0100 @@ -22,6 +22,8 @@ */ package com.oracle.graal.lir.phases; +import static com.oracle.graal.lir.phases.LIRPhase.Options.*; + import com.oracle.graal.lir.*; import com.oracle.graal.lir.phases.PostAllocationOptimizationPhase.*; import com.oracle.graal.options.*; @@ -30,13 +32,13 @@ public static class Options { // @formatter:off @Option(help = "", type = OptionType.Debug) - public static final OptionValue<Boolean> LIROptEdgeMoveOptimizer = new OptionValue<>(true); + public static final NestedBooleanOptionValue LIROptEdgeMoveOptimizer = new NestedBooleanOptionValue(LIROptimization, true); @Option(help = "", type = OptionType.Debug) - public static final OptionValue<Boolean> LIROptControlFlowOptmizer = new OptionValue<>(true); + public static final NestedBooleanOptionValue LIROptControlFlowOptmizer = new NestedBooleanOptionValue(LIROptimization, true); @Option(help = "", type = OptionType.Debug) - public static final OptionValue<Boolean> LIROptRedundantMoveElimination = new OptionValue<>(true); + public static final NestedBooleanOptionValue LIROptRedundantMoveElimination = new NestedBooleanOptionValue(LIROptimization, true); @Option(help = "", type = OptionType.Debug) - public static final OptionValue<Boolean> LIROptNullCheckOptimizer = new OptionValue<>(true); + public static final NestedBooleanOptionValue LIROptNullCheckOptimizer = new NestedBooleanOptionValue(LIROptimization, true); // @formatter:on }
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/stackslotalloc/LSStackSlotAllocator.java Mon Mar 02 14:03:56 2015 +0100 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/stackslotalloc/LSStackSlotAllocator.java Thu Feb 26 17:39:00 2015 +0100 @@ -23,6 +23,7 @@ package com.oracle.graal.lir.stackslotalloc; import static com.oracle.graal.api.code.ValueUtil.*; +import static com.oracle.graal.lir.phases.LIRPhase.Options.LIROptimization; import java.util.*; import java.util.function.*; @@ -57,7 +58,7 @@ public static class Options { // @formatter:off @Option(help = "Use linear scan stack slot allocation.", type = OptionType.Debug) - public static final OptionValue<Boolean> LIROptLSStackSlotAllocator = new OptionValue<>(true); + public static final NestedBooleanOptionValue LIROptLSStackSlotAllocator = new NestedBooleanOptionValue(LIROptimization, true); // @formatter:on }