Remove CPP from nativeGen/RegAlloc/Graph/TrivColorable.hs
[ghc-hetmet.git] / compiler / nativeGen / NCGMonad.hs
index ed59d2b..2a73768 100644 (file)
@@ -90,8 +90,8 @@ mapAccumLNat f b (x:xs)
 
 getUniqueNat :: NatM Unique
 getUniqueNat = NatM $ \ (NatM_State us delta imports pic dflags) ->
-    case splitUniqSupply us of
-         (us1,us2) -> (uniqFromSupply us1, (NatM_State us2 delta imports pic dflags))
+    case takeUniqFromSupply us of
+         (uniq, us') -> (uniq, (NatM_State us' delta imports pic dflags))
 
 
 getDynFlagsNat :: NatM DynFlags
@@ -120,7 +120,7 @@ addImportNat imp
 getBlockIdNat :: NatM BlockId
 getBlockIdNat 
  = do  u <- getUniqueNat
-       return (BlockId u)
+       return (mkBlockId u)
 
 
 getNewLabelNat :: NatM CLabel
@@ -132,14 +132,16 @@ getNewLabelNat
 getNewRegNat :: Size -> NatM Reg
 getNewRegNat rep 
  = do  u <- getUniqueNat
-       return (targetMkVReg u rep)
+       return (RegVirtual $ targetMkVirtualReg u rep)
 
 
 getNewRegPairNat :: Size -> NatM (Reg,Reg)
 getNewRegPairNat rep 
  = do  u       <- getUniqueNat
-       let lo  = targetMkVReg u rep; hi = getHiVRegFromLo lo
-       return (lo,hi)
+       let vLo = targetMkVirtualReg u rep
+       let lo  = RegVirtual $ targetMkVirtualReg u rep
+       let hi  = RegVirtual $ getHiVirtualRegFromLo vLo
+       return (lo, hi)
 
 
 getPicBaseMaybeNat :: NatM (Maybe Reg)