Remove unused imports
[ghc-hetmet.git] / compiler / codeGen / CodeGen.lhs
index eaaae2c..106fcc1 100644 (file)
@@ -31,26 +31,20 @@ import CLabel
 import Cmm
 import CmmUtils
 import PprCmm
-import MachOp
 
 import StgSyn
 import PrelNames
 import DynFlags
 import StaticFlags
 
-import PackageConfig
 import HscTypes
 import CostCentre
 import Id
 import Name
-import OccName
 import TyCon
 import Module
 import ErrUtils
-
-#ifdef DEBUG
 import Panic
-#endif
 \end{code}
 
 \begin{code}
@@ -63,6 +57,10 @@ codeGen :: DynFlags
        -> HpcInfo
        -> IO [Cmm]             -- Output
 
+                -- N.B. returning '[Cmm]' and not 'Cmm' here makes it
+                -- possible for object splitting to split up the
+                -- pieces later.
+
 codeGen dflags this_mod data_tycons imported_mods 
        cost_centre_info stg_binds hpc_info
   = do 
@@ -190,7 +188,7 @@ mkModuleInit way cost_centre_info this_mod main_mod imported_mods hpc_info
 
     jump_to_init = stmtC (CmmJump (mkLblExpr real_init_lbl) [])
 
-    mod_reg_val = CmmLoad (mkLblExpr moduleRegdLabel) wordRep
+    mod_reg_val = CmmLoad (mkLblExpr moduleRegdLabel) bWord
 
     -- Main refers to GHC.TopHandler.runIO, so make sure we call the
     -- init function for GHC.TopHandler.
@@ -216,7 +214,7 @@ mkModuleInit way cost_centre_info this_mod main_mod imported_mods hpc_info
                     -- The return-code pops the work stack by 
                     -- incrementing Sp, and then jumpd to the popped item
     ret_code = stmtsC [ CmmAssign spReg (cmmRegOffW spReg 1)
-                      , CmmJump (CmmLoad (cmmRegOffW spReg (-1)) wordRep) [] ]
+                      , CmmJump (CmmLoad (cmmRegOffW spReg (-1)) bWord) [] ]
 
 
     rec_descent_init = if opt_SccProfilingOn || isHpcUsed hpc_info
@@ -291,12 +289,12 @@ cgTopBinding dflags (StgRec pairs, srts)
        ; nopC }
 
 mkSRT :: [Id] -> (Id,[Id]) -> Code
-mkSRT these (id,[])  = nopC
+mkSRT _ (_,[])  = nopC
 mkSRT these (id,ids)
   = do { ids <- mapFCs remap ids
        ; id  <- remap id
-       ; emitRODataLits (mkSRTLabel (idName id)) 
-                      (map (CmmLabel . mkClosureLabel . idName) ids)
+       ; emitRODataLits "CodeGen.mkSRT" (mkSRTLabel (idName id) (idCafInfo id)) 
+              (map (\id -> CmmLabel $ mkClosureLabel (idName id) (idCafInfo id)) ids)
        }
   where
        -- Sigh, better map all the ids against the environment in 
@@ -313,12 +311,12 @@ cgTopRhs :: Id -> StgRhs -> FCode (Id, CgIdInfo)
        -- The Id is passed along for setting up a binding...
        -- It's already been externalised if necessary
 
-cgTopRhs bndr (StgRhsCon cc con args)
+cgTopRhs bndr (StgRhsCon _cc con args)
   = forkStatics (cgTopRhsCon bndr con args)
 
 cgTopRhs bndr (StgRhsClosure cc bi fvs upd_flag srt args body)
   = ASSERT(null fvs)    -- There should be no free variables
-    setSRTLabel (mkSRTLabel (idName bndr)) $
+    setSRTLabel (mkSRTLabel (idName bndr) (idCafInfo bndr)) $
     setSRT srt $
     forkStatics (cgTopRhsClosure bndr cc bi upd_flag args body)
 \end{code}