[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