compiler, algorithm The phase of a
compiler that determines which values will be placed in
registers. Register allocation may be combined with
register assignment.
This problem can be shown to be isomorphic to
graph colouring by relating values to nodes in the graph and registers to colours. Values (nodes) which must be valid simultaneously are linked by edges and cannot be stored in the same register (coloured the same).
See also
register dancing and
register spilling.
[Preston Briggs, PhD thesis, Rice University, April 1992 "Register Allocation via Graph Coloring" (ftp://ftp.cs.rice.edu/public/preston/thesis.ps.gz)].
(2000-12-04)