diff options
author | Ian Lynagh <igloo@earth.li> | 2012-06-20 15:42:32 +0100 |
---|---|---|
committer | Ian Lynagh <igloo@earth.li> | 2012-06-20 15:42:32 +0100 |
commit | 8323847d588f2dbd13fd698aa2125fe5b90c482c (patch) | |
tree | a3083b1f75e9471c651ea3bbb4663aa7600b5f78 /compiler/codeGen/CgParallel.hs | |
parent | ad3d65cd3d3d6e3831e5f842d27bbb6c33539a83 (diff) | |
download | haskell-8323847d588f2dbd13fd698aa2125fe5b90c482c.tar.gz |
Make -fgransim a dynamic flag
Diffstat (limited to 'compiler/codeGen/CgParallel.hs')
-rw-r--r-- | compiler/codeGen/CgParallel.hs | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/compiler/codeGen/CgParallel.hs b/compiler/codeGen/CgParallel.hs index 30771f14de..c86ef9e34a 100644 --- a/compiler/codeGen/CgParallel.hs +++ b/compiler/codeGen/CgParallel.hs @@ -16,12 +16,14 @@ module CgParallel( import CgMonad import CgCallConv +import DynFlags import Id import OldCmm -import StaticFlags import Outputable import SMRep +import Control.Monad + staticParHdr :: [CmmLit] -- Parallel header words in a static closure staticParHdr = [] @@ -37,8 +39,8 @@ staticGranHdr = [] doGranAllocate :: CmmExpr -> Code -- macro DO_GRAN_ALLOCATE doGranAllocate _hp - | not opt_GranMacros = nopC - | otherwise = panic "doGranAllocate" + = do dflags <- getDynFlags + when (dopt Opt_GranMacros dflags) $ panic "doGranAllocate" @@ -48,11 +50,11 @@ granFetchAndReschedule :: [(Id,GlobalReg)] -- Live registers -> Code -- Emit code for simulating a fetch and then reschedule. granFetchAndReschedule regs node_reqd - | opt_GranMacros && (node `elem` map snd regs || node_reqd) - = do { fetch - ; reschedule liveness node_reqd } - | otherwise - = nopC + = do dflags <- getDynFlags + when (dopt Opt_GranMacros dflags && + (node `elem` map snd regs || node_reqd)) $ + do fetch + reschedule liveness node_reqd where liveness = mkRegLiveness regs 0 0 @@ -87,8 +89,8 @@ granYield :: [(Id,GlobalReg)] -- Live registers -> Code granYield regs node_reqd - | opt_GranMacros && node_reqd = yield liveness - | otherwise = nopC + = do dflags <- getDynFlags + when (dopt Opt_GranMacros dflags && node_reqd) $ yield liveness where liveness = mkRegLiveness regs 0 0 |