[commit: ghc] new-demand: another flag for new worker-wrapper (bdd25e9)
Ilya Sergey
ilya at galois.com
Wed Jul 18 23:41:26 CEST 2012
Repository : ssh://darcs.haskell.org//srv/darcs/ghc
On branch : new-demand
http://hackage.haskell.org/trac/ghc/changeset/bdd25e9ec2c3eb6b966ede34f30c174cf40d21b3
>---------------------------------------------------------------
commit bdd25e9ec2c3eb6b966ede34f30c174cf40d21b3
Author: Ilya Sergey <Ilya.Sergey at cs.kuleuven.be>
Date: Wed Jul 18 17:28:23 2012 +0100
another flag for new worker-wrapper
>---------------------------------------------------------------
compiler/main/DynFlags.hs | 3 +++
compiler/simplCore/SimplCore.lhs | 7 ++++---
mk/build.mk.sample | 2 +-
3 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs
index 8dbf955..63b2c00 100644
--- a/compiler/main/DynFlags.hs
+++ b/compiler/main/DynFlags.hs
@@ -487,6 +487,7 @@ data ExtensionFlag
| Opt_RelaxedLayout
| Opt_TraditionalRecordSyntax
| Opt_NewDemandAnalyser
+ | Opt_NewWorkerWrapper
deriving (Eq, Enum, Show)
-- | Contains not only a collection of 'DynFlag's but also a plethora of
@@ -2197,6 +2198,8 @@ xFlags = [
( "IncoherentInstances", Opt_IncoherentInstances, nop ),
( "PackageImports", Opt_PackageImports, nop ),
( "NewDemandAnalyser", Opt_NewDemandAnalyser, nop )
+ ( "NewWorkerWrapper", Opt_NewWorkerWrapper, nop )
+
]
defaultFlags :: [DynFlag]
diff --git a/compiler/simplCore/SimplCore.lhs b/compiler/simplCore/SimplCore.lhs
index 89cfe2f..b849bb4 100644
--- a/compiler/simplCore/SimplCore.lhs
+++ b/compiler/simplCore/SimplCore.lhs
@@ -413,10 +413,11 @@ doCorePass _ CoreDoCompareStrictness = {-# SCC "StrCompare" #-}
doCorePass dflags CoreDoWorkerWrapper = {-# SCC "WorkWrap" #-}
if new_ww
- then doPassU (wwTopBinds dflags)
- else doPassU (NWW.wwTopBinds dflags)
+ then doPassU (NWW.wwTopBinds dflags)
+ else doPassU (wwTopBinds dflags)
where
- new_ww = xopt Opt_NewDemandAnalyser dflags
+ new_ww = xopt Opt_NewDemandAnalyser dflags &&
+ xopt Opt_NewWorkerWrapper dflags
doCorePass dflags CoreDoSpecialising = {-# SCC "Specialise" #-}
specProgram dflags
diff --git a/mk/build.mk.sample b/mk/build.mk.sample
index 48f61d4..54be169 100644
--- a/mk/build.mk.sample
+++ b/mk/build.mk.sample
@@ -176,7 +176,7 @@ endif
ifeq "$(BuildFlavour)" "newdmd"
SRC_HC_OPTS = -H64m -O -fasm
-GhcLibHcOpts = -O -dcore-lint -XNewDemandAnalyser
+GhcLibHcOpts = -O -dcore-lint -XNewDemandAnalyser -XNewWorkerWrapper
GhcStage1HcOpts = -Rghc-timing -O -fasm
GhcStage2HcOpts = -Rghc-timing -O0 -DDEBUG -Werror
SplitObjs = NO
More information about the Cvs-ghc
mailing list