Search in sources :

Example 16 with Suites

use of org.graalvm.compiler.phases.tiers.Suites in project graal by oracle.

the class LoopPartialUnrollTest method createSuites.

@Override
protected Suites createSuites(OptionValues opts) {
    Suites suites = super.createSuites(opts).copy();
    PhaseSuite<MidTierContext> mid = suites.getMidTier();
    ListIterator<BasePhase<? super MidTierContext>> iter = mid.findPhase(LoopPartialUnrollPhase.class);
    BasePhase<? super MidTierContext> partialUnoll = iter.previous();
    if (iter.previous().getClass() != FrameStateAssignmentPhase.class) {
        // Ensure LoopPartialUnrollPhase runs immediately after FrameStateAssignment, so it gets
        // priority over other optimizations in these tests.
        mid.findPhase(LoopPartialUnrollPhase.class).remove();
        ListIterator<BasePhase<? super MidTierContext>> fsa = mid.findPhase(FrameStateAssignmentPhase.class);
        fsa.add(partialUnoll);
    }
    return suites;
}
Also used : MidTierContext(org.graalvm.compiler.phases.tiers.MidTierContext) LoopPartialUnrollPhase(org.graalvm.compiler.loop.phases.LoopPartialUnrollPhase) BasePhase(org.graalvm.compiler.phases.BasePhase) Suites(org.graalvm.compiler.phases.tiers.Suites)

Aggregations

Suites (org.graalvm.compiler.phases.tiers.Suites)16 LIRSuites (org.graalvm.compiler.lir.phases.LIRSuites)10 BasePhase (org.graalvm.compiler.phases.BasePhase)8 HighTierContext (org.graalvm.compiler.phases.tiers.HighTierContext)7 StructuredGraph (org.graalvm.compiler.nodes.StructuredGraph)6 CompilationResult (org.graalvm.compiler.code.CompilationResult)4 DebugContext (org.graalvm.compiler.debug.DebugContext)4 OptionValues (org.graalvm.compiler.options.OptionValues)4 LowTierContext (org.graalvm.compiler.phases.tiers.LowTierContext)4 Backend (org.graalvm.compiler.core.target.Backend)3 GraphBuilderPhase (org.graalvm.compiler.java.GraphBuilderPhase)3 CanonicalizerPhase (org.graalvm.compiler.phases.common.CanonicalizerPhase)3 MidTierContext (org.graalvm.compiler.phases.tiers.MidTierContext)3 HostedProviders (com.oracle.graal.pointsto.meta.HostedProviders)2 ProfilingInfo (jdk.vm.ci.meta.ProfilingInfo)2 CompilationIdentifier (org.graalvm.compiler.core.common.CompilationIdentifier)2 CompilationResultBuilderFactory (org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory)2 Plugins (org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.Plugins)2 InvocationPlugins (org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins)2 OptimisticOptimizations (org.graalvm.compiler.phases.OptimisticOptimizations)2