+++ /dev/null
-{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
-interface AsmRegAlloc where
-import CLabelInfo(CLabel)
-import FiniteMap(FiniteMap)
-import OrdList(OrdList)
-import Outputable(NamedThing, Outputable)
-import PrimKind(PrimKind)
-import UniqFM(UniqFM)
-import UniqSet(UniqSet(..))
-import Unique(Unique)
-class MachineCode a where
- regUsage :: a -> RegUsage
- regLiveness :: a -> RegLiveness -> RegLiveness
- patchRegs :: a -> (Reg -> Reg) -> a
- spillReg :: Reg -> Reg -> OrdList a
- loadReg :: Reg -> Reg -> OrdList a
-class MachineRegisters a where
- mkMRegs :: [Int] -> a
- possibleMRegs :: PrimKind -> a -> [Int]
- useMReg :: a -> Int# -> a
- useMRegs :: a -> [Int] -> a
- freeMReg :: a -> Int# -> a
- freeMRegs :: a -> [Int] -> a
-data CLabel
-data FiniteMap a b
-data FutureLive = FL (UniqFM Reg) (FiniteMap CLabel (UniqFM Reg))
-data OrdList a
-data PrimKind
-data Reg = FixedReg Int# | MappedReg Int# | MemoryReg Int PrimKind | UnmappedReg Unique PrimKind
-data RegLiveness = RL (UniqFM Reg) FutureLive
-data RegUsage = RU (UniqFM Reg) (UniqFM Reg)
-data UniqFM a
-type UniqSet a = UniqFM a
-data Unique
-extractMappedRegNos :: [Reg] -> [Int]
-mkReg :: Unique -> PrimKind -> Reg
-runHairyRegAllocate :: (MachineRegisters a, MachineCode b) => a -> [Int] -> OrdList b -> [b]
-runRegAllocate :: (MachineRegisters a, MachineCode b) => a -> [Int] -> OrdList b -> [b]
-instance Eq Reg
-instance Ord Reg
-instance NamedThing Reg
-instance Outputable Reg
-instance Text Reg
-