+-----------------------------------------------------------------------------
+--
+-- (c) The University of Glasgow -2006
+--
-- Code generation relaed to GpH
-- (a) parallel
-- (b) GranSim
+--
+-----------------------------------------------------------------------------
module CgParallel(
staticGranHdr,staticParHdr,
) where
import CgMonad
-import CgCallConv ( mkRegLiveness )
-import Id ( Id )
-import Cmm ( CmmLit, GlobalReg(..), node, CmmExpr )
-import StaticFlags ( opt_GranMacros )
+import CgCallConv
+import Id
+import Cmm
+import StaticFlags
import Outputable
+import SMRep
staticParHdr :: [CmmLit]
-- Parallel header words in a static closure
doGranAllocate :: CmmExpr -> Code
-- macro DO_GRAN_ALLOCATE
-doGranAllocate hp
+doGranAllocate _hp
| not opt_GranMacros = nopC
| otherwise = panic "doGranAllocate"
where
liveness = mkRegLiveness regs 0 0
+fetch :: FCode ()
fetch = panic "granFetch"
-- Was: absC (CMacroStmt GRAN_FETCH [])
--HWL: generate GRAN_FETCH macro for GrAnSim
-- currently GRAN_FETCH and GRAN_FETCH_AND_RESCHEDULE are miai
-reschedule liveness node_reqd = panic "granReschedule"
+reschedule :: StgWord -> Bool -> Code
+reschedule _liveness _node_reqd = panic "granReschedule"
-- Was: absC (CMacroStmt GRAN_RESCHEDULE [
-- mkIntCLit (I# (word2Int# liveness_mask)),
-- mkIntCLit (if node_reqd then 1 else 0)])
where
liveness = mkRegLiveness regs 0 0
-yield liveness = panic "granYield"
+yield :: StgWord -> Code
+yield _liveness = panic "granYield"
-- Was : absC (CMacroStmt GRAN_YIELD
-- [mkIntCLit (I# (word2Int# liveness_mask))])