Publication | Open Access
Efficient register allocation via coloring using clique separators
29
Citations
11
References
1994
Year
EngineeringShared MemoryProgram AnalysisCompiler TechnologyCompiler SupportGraph ColoringComputer EngineeringComputer ArchitectureInterference GraphsParallel ProgrammingComputer ScienceConcurrent Data StructureOptimal AllocationParallel ComputingCombinatorial OptimizationOptimizing CompilerMemory ManagementClique Separators
Although graph coloring is widely recognized as an effective technique for register allocation, memory demands can become quite high for large interference graphs that are needed in coloring. In this paper we present an algorithm that uses the notion of clique separators to improve the space overhead of coloring. The algorithm, based on a result by R. Tarjan regarding the colorability of graphs, partitions program code into code segments using clique separators. The interference graphs for the code partitions are constructed one at a time and colored independently. The colorings for the partitions are combined to obtain a register allocation for the entire program. This approach can be used to perform register allocation in a space-efficient manner. For straight-line code (e.g., local register allocation), an optimal allocation can be obtained from optimal allocations for individual code partitions. Experimental results are presented demonstrating memory demand reductions for interference graphs when allocating registers using clique separators.
| Year | Citations | |
|---|---|---|
Page 1
Page 1