< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/RedundantMoveElimination.java

Print this page

        

*** 28,37 **** --- 28,38 ---- import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.EnumSet; + import jdk.vm.ci.code.RegisterConfig; import org.graalvm.compiler.core.common.LIRKind; import org.graalvm.compiler.core.common.cfg.AbstractBlockBase; import org.graalvm.compiler.debug.CounterKey; import org.graalvm.compiler.debug.DebugContext; import org.graalvm.compiler.debug.Indent;
*** 136,155 **** */ @SuppressWarnings("try") private void doOptimize(LIR lir) { DebugContext debug = lir.getDebug(); try (Indent indent = debug.logAndIndent("eliminate redundant moves")) { ! ! callerSaveRegs = frameMap.getRegisterConfig().getCallerSaveRegisters(); initBlockData(lir); // Compute a table of the registers which are eligible for move optimization. // Unallocatable registers should never be optimized. eligibleRegs = new int[numRegs]; Arrays.fill(eligibleRegs, -1); ! for (Register reg : frameMap.getRegisterConfig().getAllocatableRegisters()) { if (reg.number < numRegs) { eligibleRegs[reg.number] = reg.number; } } --- 137,156 ---- */ @SuppressWarnings("try") private void doOptimize(LIR lir) { DebugContext debug = lir.getDebug(); try (Indent indent = debug.logAndIndent("eliminate redundant moves")) { ! RegisterConfig registerConfig = frameMap.getRegisterConfig(); ! callerSaveRegs = registerConfig.getCallerSaveRegisters(); initBlockData(lir); // Compute a table of the registers which are eligible for move optimization. // Unallocatable registers should never be optimized. eligibleRegs = new int[numRegs]; Arrays.fill(eligibleRegs, -1); ! for (Register reg : registerConfig.getAllocatableRegisters()) { if (reg.number < numRegs) { eligibleRegs[reg.number] = reg.number; } }
< prev index next >