Remove the (very) old strictness analyser
[ghc-hetmet.git] / compiler / nativeGen / RegClass.hs
1
2 -- | An architecture independent description of a register's class.
3 module RegClass 
4         ( RegClass (..) )
5
6 where
7
8 import  Outputable
9 import  Unique
10
11
12 -- | The class of a register. 
13 --      Used in the register allocator.
14 --      We treat all registers in a class as being interchangable.
15 --
16 data RegClass 
17         = RcInteger 
18         | RcFloat
19         | RcDouble
20         deriving Eq
21
22
23 instance Uniquable RegClass where
24     getUnique RcInteger = mkRegClassUnique 0
25     getUnique RcFloat   = mkRegClassUnique 1
26     getUnique RcDouble  = mkRegClassUnique 2
27
28 instance Outputable RegClass where
29     ppr RcInteger       = Outputable.text "I"
30     ppr RcFloat         = Outputable.text "F"
31     ppr RcDouble        = Outputable.text "D"