... | ... | @@ -44,7 +44,7 @@ Decribes the core graph coloring algorithm used. |
|
|
**A Generalised Algorithm for Graph-Coloring Register Allocation**
|
|
|
*Smith, Ramsey, Holloway, 2004*
|
|
|
|
|
|
For a decription of how to deal with overlapping register sets, which aren't fully implemented yet. Explains what the `worst`, `squeese` and `triv` functions are for.
|
|
|
For a decription of how to deal with overlapping register sets, which aren't fully implemented. Explains what the `worst`, `squeese` and `triv` functions are for.
|
|
|
|
|
|
**Design and Implementation of a Graph Coloring Register Allocator for GCC**
|
|
|
*Matz, 2003*
|
... | ... | @@ -129,9 +129,6 @@ circo -Tpng niceGraph.dot -o niceGraph.png |
|
|
|
|
|
Runtime performance of the graph coloring allocator is proportional to the size of the conflict graph and the number of build/spill cycles needed to obtain a coloring. Most functions have graphs \< 100 nodes and generate no spills, so register allocation is a small fraction of overall compile time.
|
|
|
|
|
|
|
|
|
The graph is stored as a `UniqMap` of nodes, which has ... complexity.
|
|
|
|
|
|
## Possible Improvements
|
|
|
|
|
|
|
... | ... | |