Abstract
A Chaitin-style register allocator often blocks during its simplification phase because no node in the interference graph has a degree that is sufficiently small. Typically, this is handled by node-splitting, or by optimistically continuing - and hoping that a legal N-coloring will still be found. We observe that the merging of two nodes in a graph causes a reduction in the degree of any node that had been adjacent to both. We have enhanced Chaitin's coloring algorithm so that it attempts node-merging during graph simplification; this often allows simplification to continue, while still guaranteeing a coloring for the graph. We have tested this algorithm using Appel's database of register-coloring graphs, and have compared it with Chaitin's algorithm. The merge-enhanced algorithm yields a better coloring about 8% of the time, and a worse coloring less than 0.1% of the time. © 1999 ACM.
Author supplied keywords
Cite
CITATION STYLE
Vegdahl, S. R. (1999). Using node merging to enhance graph coloring. SIGPLAN Notices (ACM Special Interest Group on Programming Languages), 34(5), 150–154. https://doi.org/10.1145/301631.301657
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.