Commit 05bac9f8 authored by Ian Lynagh's avatar Ian Lynagh

Fix whitespace in codeGen/StgCmmGran.hs

parent 8323847d
......@@ -3,22 +3,15 @@
-- (c) The University of Glasgow -2006
--
-- Code generation relaed to GpH
-- (a) parallel
-- (b) GranSim
-- (a) parallel
-- (b) GranSim
--
-----------------------------------------------------------------------------
{-# OPTIONS -fno-warn-tabs #-}
-- The above warning supression flag is a temporary kludge.
-- While working on this module you are encouraged to remove it and
-- detab the module (please do the detabbing in a separate patch). See
-- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#TabsvsSpaces
-- for details
module StgCmmGran (
staticGranHdr,staticParHdr,
granThunk, granYield,
doGranAllocate
staticGranHdr,staticParHdr,
granThunk, granYield,
doGranAllocate
) where
-- This entire module consists of no-op stubs at the moment
......@@ -57,11 +50,11 @@ staticGranHdr :: [CmmLit]
-- Gransim header words in a static closure
staticGranHdr = []
doGranAllocate :: CmmExpr -> Code
doGranAllocate :: CmmExpr -> Code
-- macro DO_GRAN_ALLOCATE
doGranAllocate hp
doGranAllocate hp
| not opt_GranMacros = nopC
| otherwise = panic "doGranAllocate"
| otherwise = panic "doGranAllocate"
......@@ -69,13 +62,13 @@ doGranAllocate hp
granThunk :: Bool -> FCode ()
-- HWL: insert macros for GrAnSim; 2 versions depending on liveness of node
-- (we prefer fetchAndReschedule-style context switches to yield ones)
granThunk node_points
| node_points = granFetchAndReschedule [] node_points
| otherwise = granYield [] node_points
granThunk node_points
| node_points = granFetchAndReschedule [] node_points
| otherwise = granYield [] node_points
granFetchAndReschedule :: [(Id,GlobalReg)] -- Live registers
-> Bool -- Node reqd?
-> Code
-> Bool -- Node reqd?
-> Code
-- Emit code for simulating a fetch and then reschedule.
granFetchAndReschedule regs node_reqd
| opt_GranMacros && (node `elem` map snd regs || node_reqd)
......@@ -87,15 +80,15 @@ granFetchAndReschedule regs node_reqd
liveness = mkRegLiveness regs 0 0
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
-- 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"
-- Was: absC (CMacroStmt GRAN_RESCHEDULE [
-- mkIntCLit (I# (word2Int# liveness_mask)),
-- mkIntCLit (if node_reqd then 1 else 0)])
-- Was: absC (CMacroStmt GRAN_RESCHEDULE [
-- mkIntCLit (I# (word2Int# liveness_mask)),
-- mkIntCLit (if node_reqd then 1 else 0)])
-------------------------
-- The @GRAN_YIELD@ macro is taken from JSM's code for Concurrent Haskell. It
......@@ -103,25 +96,25 @@ reschedule liveness node_reqd = panic "granReschedule"
-- @Continue@ rather than the @EnterNodeCode@ function in the RTS). We emit
-- this kind of macro at the beginning of the following kinds of basic bocks:
-- \begin{itemize}
-- \item Slow entry code where node is not alive (see @CgClosure.lhs@). Normally
-- \item Slow entry code where node is not alive (see @CgClosure.lhs@). Normally
-- we use @fetchAndReschedule@ at a slow entry code.
-- \item Fast entry code (see @CgClosure.lhs@).
-- \item Alternatives in case expressions (@CLabelledCode@ structures), provided
-- that they are not inlined (see @CgCases.lhs@). These alternatives will
-- that they are not inlined (see @CgCases.lhs@). These alternatives will
-- be turned into separate functions.
granYield :: [(Id,GlobalReg)] -- Live registers
-> Bool -- Node reqd?
-> Code
-> Code
granYield regs node_reqd
| opt_GranMacros && node_reqd = yield liveness
| otherwise = nopC
| otherwise = nopC
where
liveness = mkRegLiveness regs 0 0
yield liveness = panic "granYield"
-- Was : absC (CMacroStmt GRAN_YIELD
-- Was : absC (CMacroStmt GRAN_YIELD
-- [mkIntCLit (I# (word2Int# liveness_mask))])
-}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment