Search in sources :

Example 1 with AddressLoweringByUsePhase

use of org.graalvm.compiler.phases.common.AddressLoweringByUsePhase in project graal by oracle.

the class AArch64HotSpotSuitesProvider method createSuites.

@Override
public Suites createSuites(OptionValues options) {
    Suites suites = super.createSuites(options);
    ListIterator<BasePhase<? super LowTierContext>> findPhase = suites.getLowTier().findPhase(FixReadsPhase.class);
    if (findPhase == null) {
        findPhase = suites.getLowTier().findPhase(ExpandLogicPhase.class);
    }
    findPhase.add(new AddressLoweringByUsePhase(addressLoweringByUse));
    // Put AArch64ReadReplacementPhase right before the SchedulePhase
    findPhase = suites.getLowTier().findPhase(SchedulePhase.class);
    while (PhaseSuite.findNextPhase(findPhase, SchedulePhase.class)) {
    // Search for last occurrence of SchedulePhase
    }
    findPhase.previous();
    findPhase.add(new AArch64ReadReplacementPhase());
    return suites;
}
Also used : LowTierContext(org.graalvm.compiler.phases.tiers.LowTierContext) SchedulePhase(org.graalvm.compiler.phases.schedule.SchedulePhase) AArch64ReadReplacementPhase(org.graalvm.compiler.replacements.aarch64.AArch64ReadReplacementPhase) ExpandLogicPhase(org.graalvm.compiler.phases.common.ExpandLogicPhase) AddressLoweringByUsePhase(org.graalvm.compiler.phases.common.AddressLoweringByUsePhase) BasePhase(org.graalvm.compiler.phases.BasePhase) Suites(org.graalvm.compiler.phases.tiers.Suites)

Aggregations

BasePhase (org.graalvm.compiler.phases.BasePhase)1 AddressLoweringByUsePhase (org.graalvm.compiler.phases.common.AddressLoweringByUsePhase)1 ExpandLogicPhase (org.graalvm.compiler.phases.common.ExpandLogicPhase)1 SchedulePhase (org.graalvm.compiler.phases.schedule.SchedulePhase)1 LowTierContext (org.graalvm.compiler.phases.tiers.LowTierContext)1 Suites (org.graalvm.compiler.phases.tiers.Suites)1 AArch64ReadReplacementPhase (org.graalvm.compiler.replacements.aarch64.AArch64ReadReplacementPhase)1