summaryrefslogtreecommitdiff
path: root/compiler/nativeGen/RegClass.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/nativeGen/RegClass.hs')
-rw-r--r--compiler/nativeGen/RegClass.hs19
1 files changed, 11 insertions, 8 deletions
diff --git a/compiler/nativeGen/RegClass.hs b/compiler/nativeGen/RegClass.hs
index fbbb786817..d73a3409ac 100644
--- a/compiler/nativeGen/RegClass.hs
+++ b/compiler/nativeGen/RegClass.hs
@@ -1,15 +1,14 @@
-- | An architecture independent description of a register's class.
module RegClass
- ( RegClass (..) )
-
-where
+ ( RegClass(..)
+ , allRegClasses
+ ) where
import GhcPrelude
import Outputable
import Unique
-
-- | The class of a register.
-- Used in the register allocator.
-- We treat all registers in a class as being interchangable.
@@ -18,7 +17,11 @@ data RegClass
= RcInteger
| RcFloat
| RcDouble
- deriving Eq
+ deriving (Eq, Show)
+
+allRegClasses :: [RegClass]
+allRegClasses =
+ [ RcInteger, RcFloat, RcDouble ]
instance Uniquable RegClass where
@@ -27,6 +30,6 @@ instance Uniquable RegClass where
getUnique RcDouble = mkRegClassUnique 2
instance Outputable RegClass where
- ppr RcInteger = Outputable.text "I"
- ppr RcFloat = Outputable.text "F"
- ppr RcDouble = Outputable.text "D"
+ ppr RcInteger = Outputable.text "I"
+ ppr RcFloat = Outputable.text "F"
+ ppr RcDouble = Outputable.text "D"