Merge in new code generator branch.
[ghc-hetmet.git] / compiler / nativeGen / PPC / RegInfo.hs
index b2806c7..91c9e15 100644 (file)
@@ -7,14 +7,11 @@
 -----------------------------------------------------------------------------
 
 module PPC.RegInfo (
-       mkVReg,
-
-        JumpDest, 
+        JumpDest( DestBlockId ), 
        canShortcut, 
        shortcutJump, 
 
-       shortcutStatic,
-       regDotColor
+       shortcutStatic
 )
 
 where
@@ -24,29 +21,14 @@ where
 
 import PPC.Regs
 import PPC.Instr
-import RegClass
-import Reg
-import Size
 
 import BlockId
-import Cmm
+import OldCmm
 import CLabel
 
 import Outputable
 import Unique
 
-mkVReg :: Unique -> Size -> Reg
-mkVReg u size
-   | not (isFloatSize size) = VirtualRegI u
-   | otherwise
-   = case size of
-        FF32   -> VirtualRegD u
-        FF64   -> VirtualRegD u
-       _       -> panic "mkVReg"
-
-
-
-
 data JumpDest = DestBlockId BlockId | DestImm Imm
 
 canShortcut :: Instr -> Maybe JumpDest
@@ -61,11 +43,11 @@ shortcutStatic :: (BlockId -> Maybe JumpDest) -> CmmStatic -> CmmStatic
 
 shortcutStatic fn (CmmStaticLit (CmmLabel lab))
   | Just uq <- maybeAsmTemp lab 
-  = CmmStaticLit (CmmLabel (shortBlockId fn (BlockId uq)))
+  = CmmStaticLit (CmmLabel (shortBlockId fn (mkBlockId uq)))
 
 shortcutStatic fn (CmmStaticLit (CmmLabelDiffOff lbl1 lbl2 off))
   | Just uq <- maybeAsmTemp lbl1
-  = CmmStaticLit (CmmLabelDiffOff (shortBlockId fn (BlockId uq)) lbl2 off)
+  = CmmStaticLit (CmmLabelDiffOff (shortBlockId fn (mkBlockId uq)) lbl2 off)
         -- slightly dodgy, we're ignoring the second label, but this
         -- works with the way we use CmmLabelDiffOff for jump tables now.
 
@@ -77,18 +59,11 @@ shortBlockId
        -> BlockId
        -> CLabel
 
-shortBlockId fn blockid@(BlockId uq) =
+shortBlockId fn blockid =
    case fn blockid of
       Nothing -> mkAsmTempLabel uq
       Just (DestBlockId blockid')  -> shortBlockId fn blockid'
       Just (DestImm (ImmCLbl lbl)) -> lbl
       _other -> panic "shortBlockId"
+   where uq = getUnique blockid
 
-
-
-regDotColor :: Reg -> SDoc
-regDotColor reg
- = case regClass reg of
-       RcInteger       -> text "blue"
-       RcFloat         -> text "red"
-       RcDouble        -> text "green"