use of org.jikesrvm.compilers.opt.regalloc.ia32.MIRSplitRanges in project JikesRVM by JikesRVM.
the class MIROptimizationPlanner method MIROptimizations.
/**
* This method defines the optimization plan elements that
* are to be performed on IA32 MIR.
*
* @param p the plan under construction
*/
private static void MIROptimizations(ArrayList<OptimizationPlanElement> p) {
// Register Allocation
composeComponents(p, "Register Mapping", new Object[] { new RewriteMemoryOperandsWithOversizedDisplacements(), new MIRSplitRanges(), // MANDATORY: Expand calling convention
new ExpandCallingConvention(), // MANDATORY: Insert defs/uses due to floating-point stack
new ExpandFPRStackConvention(), // MANDATORY: Perform Live analysis and create GC maps
new LiveAnalysis(true, false), // MANDATORY: Perform register allocation
new RegisterAllocator(), // MANDATORY: Add prologue and epilogue
new PrologueEpilogueCreator() });
// Peephole branch optimizations
addComponent(p, new MIRBranchOptimizations(1));
}
Aggregations