Publication | Closed Access
Code scheduling and register allocation in large basic blocks
174
Citations
14
References
2014
Year
Unknown Venue
Integrated CodeEngineeringProgram AnalysisCompiler TechnologyComputer EngineeringComputer ArchitectureSoftware EngineeringCode SchedulingDag-driven Register AllocatorParallel ProgrammingComputer ScienceParallel ComputingCompilersOptimizing CompilerSoftware AnalysisSystem SoftwareInstruction-level ParallelismProgramming Languages
We discuss the issues about the interdependency between code scheduling and register allocation. We present two methods as solutions: (1) an integrated code scheduling technique; and (2) a DAG-driven register allocator. The integrated code scheduling method combines two scheduling techniques—one to reduce pipeline delays and the other to minimize register usage—into a single phase. By keeping track of the number of available registers, the scheduler can choose the appropriate scheduling technique to schedule a better code sequence. The DAG-driven register allocator uses a dependency graph to assist in assigning registers; it introduces much less extra dependency than does an ordinary register allocator. For large basic blocks, both approaches were shown to generate more efficient code sequences than conventional techniques in the simulations.
| Year | Citations | |
|---|---|---|
Page 1
Page 1