summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorRoman Leshchinskiy <rl@cse.unsw.edu.au>2009-05-19 05:58:07 +0000
committerRoman Leshchinskiy <rl@cse.unsw.edu.au>2009-05-19 05:58:07 +0000
commited8c9b25a7e5e1e8fa54196f542b50812163759e (patch)
tree07bb80117f4f9c31745fa23070321433a8f2afc6 /compiler
parent523101db16170b11b07e9ace7bcdf82eaaaf8c2e (diff)
downloadhaskell-ed8c9b25a7e5e1e8fa54196f542b50812163759e.tar.gz
Make -Odph imply -fsimplifier-phases=3
Diffstat (limited to 'compiler')
-rw-r--r--compiler/main/DynFlags.hs3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs
index 8bf069c44c..3505bb647a 100644
--- a/compiler/main/DynFlags.hs
+++ b/compiler/main/DynFlags.hs
@@ -2041,12 +2041,15 @@ setOptLevel n dflags
-- sometimes
-- -fdicts-cheap always inline dictionaries
-- -fmax-simplifier-iterations20 this is necessary sometimes
+-- -fsimplifier-phases=3 we use an additional simplifier phase
+-- for fusion
-- -fno-spec-constr-threshold run SpecConstr even for big loops
-- -fno-spec-constr-count SpecConstr as much as possible
-- -finline-enough-args hack to prevent excessive inlining
--
setDPHOpt :: DynFlags -> DynFlags
setDPHOpt dflags = setOptLevel 2 (dflags { maxSimplIterations = 20
+ , simplPhases = 3
, specConstrThreshold = Nothing
, specConstrCount = Nothing
})