NCG: Split out joinToTargets from linear alloctor into its own module.
[ghc-hetmet.git] / compiler / nativeGen / RegAlloc / Linear / Base.hs
index 95c9965..a986c0f 100644 (file)
@@ -3,7 +3,9 @@
 
 module RegAlloc.Linear.Base (
        BlockAssignment,
+
        Loc(..),
+       regsOfLoc,
 
        -- for stats
        SpillReason(..),
@@ -65,6 +67,13 @@ instance Outputable Loc where
        ppr l = text (show l)
 
 
+-- | Get the reg numbers stored in this Loc.
+regsOfLoc :: Loc -> [RegNo]
+regsOfLoc (InReg r)    = [r]
+regsOfLoc (InBoth r _) = [r]
+regsOfLoc (InMem _)    = []
+
+
 -- | Reasons why instructions might be inserted by the spiller.
 --     Used when generating stats for -ddrop-asm-stats.
 --