[commit: ghc] wip/T14951-blunt: Run SpecConstr twice, simplify in between (c323f19)

git at git.haskell.org git at git.haskell.org
Thu Mar 22 14:12:28 UTC 2018


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

On branch  : wip/T14951-blunt
Link       : http://ghc.haskell.org/trac/ghc/changeset/c323f19891a11d6e7a971301189e5fcd0a4f0696/ghc

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

commit c323f19891a11d6e7a971301189e5fcd0a4f0696
Author: Joachim Breitner <mail at joachim-breitner.de>
Date:   Mon Mar 19 15:20:57 2018 -0400

    Run SpecConstr twice, simplify in between
    
    otherwise, it does not see that certain arguments are actually useful to
    be specialized to. This gets x2n1 performance on par.


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

c323f19891a11d6e7a971301189e5fcd0a4f0696
 compiler/simplCore/SimplCore.hs | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/compiler/simplCore/SimplCore.hs b/compiler/simplCore/SimplCore.hs
index 61622ae..2524f49 100644
--- a/compiler/simplCore/SimplCore.hs
+++ b/compiler/simplCore/SimplCore.hs
@@ -346,6 +346,10 @@ getCoreToDo dflags
 
         runWhen spec_constr CoreDoSpecConstr,
 
+        simpl_phase 0 ["between-core-spec"] max_iter,
+
+        runWhen spec_constr CoreDoSpecConstr,
+
         maybe_rule_check (Phase 0),
 
         runWhen late_specialise



More information about the ghc-commits mailing list