Make some more modules use LazyUniqFM instead of UniqFM
[ghc-hetmet.git] / compiler / nativeGen / MachRegs.lhs
index 85c88b2..0174fac 100644 (file)
@@ -105,7 +105,8 @@ import UniqSet
 import Constants
 import FastTypes
 import FastBool
-import UniqFM
+import qualified UniqFM as S
+import LazyUniqFM
 
 #if powerpc_TARGET_ARCH
 import Data.Word       ( Word8, Word16, Word32 )
@@ -518,20 +519,20 @@ worst n classN classC
 
 {-# INLINE regClass      #-}
 trivColorable :: RegClass -> UniqSet Reg -> UniqSet Reg -> Bool
-trivColorable classN conflicts exclusions
+trivColorable classN (MkUniqFM conflicts) (MkUniqFM exclusions)
  = {-# SCC "trivColorable" #-}
    let
        {-# INLINE   isSqueesed    #-}
        isSqueesed cI cF ufm
          = case ufm of
-               NodeUFM _ _ left right
+               S.NodeUFM _ _ left right
                 -> case isSqueesed cI cF right of
                        (# s, cI', cF' #)
                         -> case s of
                                False   -> isSqueesed cI' cF' left
                                True    -> (# True, cI', cF' #)
 
-               LeafUFM _ reg
+               S.LeafUFM _ (Lazy reg)
                 -> case regClass reg of
                        RcInteger
                         -> case cI +# _ILIT(1) of
@@ -541,7 +542,7 @@ trivColorable classN conflicts exclusions
                         -> case cF +# _ILIT(1) of
                                cF' -> (# cF' >=# ALLOCATABLE_REGS_DOUBLE,  cI, cF' #)
 
-               EmptyUFM
+               S.EmptyUFM
                 ->     (# False, cI, cF #)
 
    in case isSqueesed (_ILIT(0)) (_ILIT(0)) conflicts of