[commit: ghc] wip/T14152: Run Exitification at various stages of the pipeline (1a93f0c)
git at git.haskell.org
git at git.haskell.org
Mon Oct 23 14:39:40 UTC 2017
Repository : ssh://git@git.haskell.org/ghc
On branch : wip/T14152
Link : http://ghc.haskell.org/trac/ghc/changeset/1a93f0cad52e47e31cd21e3dc8bc64e95c7dfb1e/ghc
>---------------------------------------------------------------
commit 1a93f0cad52e47e31cd21e3dc8bc64e95c7dfb1e
Author: Joachim Breitner <mail at joachim-breitner.de>
Date: Mon Oct 23 10:38:25 2017 -0400
Run Exitification at various stages of the pipeline
we probably to run it less, but let’s first see if this recovers the old
strength of exitification, and then carefully see if we can do with less
iterations.
>---------------------------------------------------------------
1a93f0cad52e47e31cd21e3dc8bc64e95c7dfb1e
compiler/simplCore/SimplCore.hs | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/compiler/simplCore/SimplCore.hs b/compiler/simplCore/SimplCore.hs
index a4dca0f..91227f3 100644
--- a/compiler/simplCore/SimplCore.hs
+++ b/compiler/simplCore/SimplCore.hs
@@ -255,7 +255,6 @@ getCoreToDo dflags
-- initial simplify: mk specialiser happy: minimum effort please
simpl_gently,
- -- Exitification
runWhen exitification CoreDoExitify,
-- Specialisation is best done before full laziness
@@ -305,6 +304,8 @@ getCoreToDo dflags
-- Don't stop now!
simpl_phase 0 ["main"] (max max_iter 3) False,
+ runWhen exitification CoreDoExitify,
+
runWhen do_float_in CoreDoFloatInwards,
-- Run float-inwards immediately before the strictness analyser
-- Doing so pushes bindings nearer their use site and hence makes
@@ -319,6 +320,8 @@ getCoreToDo dflags
runWhen strictness demand_analyser,
+ runWhen exitification CoreDoExitify,
+
runWhen full_laziness $
CoreDoFloatOutwards FloatOutSwitches {
floatOutLambdas = floatLamArgs dflags,
More information about the ghc-commits
mailing list