


Description 
Utils for calculating general worst, bound, squeese and free, functions.
as per: A Generalized Algorithm for GraphColoring Register Allocation
Michael Smith, Normal Ramsey, Glenn Holloway.
PLDI 2004
These general versions are not used in GHC proper because they are too slow.
Instead, hand written optimised versions are provided for each architecture
in MachRegs*.hs
This code is here because we can test the architecture specific code against it.


Synopsis 



Documentation 


Constructors  ClassG32   ClassG16   ClassG8   ClassF64  
 Instances  



A register of some class
 Constructors   Instances  



A subcomponent of another register
 Constructors   Instances  



Worst case displacement
a node N of classN has some number of neighbors,
all of which are from classC.
(worst neighbors classN classC) is the maximum number of potential
colors for N that can be lost by coloring its neighbors.



For a node N of classN and neighbors of classesC
(bound classN classesC) is the maximum number of potential
colors for N that can be lost by coloring its neighbors.



The total squeese on a particular node with a list of neighbors.
A version of this should be constructed for each particular architecture,
possibly including uses of bound, so that alised registers don't get counted
twice, as per the paper.


Produced by Haddock version 2.6.1 