[commit: ghc] wip/T14152: Try exitification after demand analysis (7a929c4)

git at git.haskell.org git at git.haskell.org
Wed Oct 25 16:48:56 UTC 2017


Repository : ssh://git@git.haskell.org/ghc

On branch  : wip/T14152
Link       : http://ghc.haskell.org/trac/ghc/changeset/7a929c4fc53ce28ddcd67c8a9b5acc60216015d8/ghc

>---------------------------------------------------------------

commit 7a929c4fc53ce28ddcd67c8a9b5acc60216015d8
Author: Joachim Breitner <mail at joachim-breitner.de>
Date:   Wed Oct 25 12:44:42 2017 -0400

    Try exitification after demand analysis
    
    Previous, I was running it twice:
     * before the main simplifier pass
     * after demand analysis
    and the results were a clear win.
    
    Removing the second one of these regressed k-nucleotide:
    
          allocs/k-nucleotide	   9502040 + 3.78%     9861544	bytes
          instr/k-nucleotide	2172066020 + 18.89% 2582364781
    
    so let's see what happens if I remove the first one of these, and only
    use the second one.


>---------------------------------------------------------------

7a929c4fc53ce28ddcd67c8a9b5acc60216015d8
 compiler/simplCore/SimplCore.hs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/compiler/simplCore/SimplCore.hs b/compiler/simplCore/SimplCore.hs
index 10115c4..21a5c21 100644
--- a/compiler/simplCore/SimplCore.hs
+++ b/compiler/simplCore/SimplCore.hs
@@ -284,8 +284,6 @@ getCoreToDo dflags
 
         simpl_phases,
 
-        runWhen exitification CoreDoExitify,
-
                 -- Phase 0: allow all Ids to be inlined now
                 -- This gets foldr inlined before strictness analysis
 
@@ -312,6 +310,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