Merge in new code generator branch.
[ghc-hetmet.git] / compiler / nativeGen / SPARC / ShortcutJump.hs
index f560f82..c0c3343 100644 (file)
@@ -14,9 +14,10 @@ import SPARC.Imm
 
 import CLabel
 import BlockId
-import Cmm
+import OldCmm
 
 import Panic
+import Unique
 
 
 
@@ -37,11 +38,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.
@@ -50,9 +51,9 @@ shortcutStatic _ other_static
 
 
 shortBlockId :: (BlockId -> Maybe JumpDest) -> BlockId -> CLabel
-shortBlockId fn blockid@(BlockId uq) =
+shortBlockId fn blockid =
    case fn blockid of
-      Nothing -> mkAsmTempLabel uq
+      Nothing -> mkAsmTempLabel (getUnique blockid)
       Just (DestBlockId blockid')  -> shortBlockId fn blockid'
       Just (DestImm (ImmCLbl lbl)) -> lbl
       _other -> panic "shortBlockId"