[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