[commit: ghc] wip/T14068: Run SpecConstr twice, simplify in between (bdb92ef)

git at git.haskell.org git at git.haskell.org
Mon Mar 19 19:22:06 UTC 2018


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

On branch  : wip/T14068
Link       : http://ghc.haskell.org/trac/ghc/changeset/bdb92ef065f117f64e9ea86720b9297d9abe567a/ghc

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

commit bdb92ef065f117f64e9ea86720b9297d9abe567a
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.


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

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

diff --git a/compiler/simplCore/SimplCore.hs b/compiler/simplCore/SimplCore.hs
index 0a20eb0..9f260a6 100644
--- a/compiler/simplCore/SimplCore.hs
+++ b/compiler/simplCore/SimplCore.hs
@@ -344,6 +344,10 @@ getCoreToDo dflags
 
         runWhen spec_constr CoreDoSpecConstr,
 
+        simpl_phase 0 ["between-core-spec"] max_iter,
+
+        runWhen spec_constr CoreDoSpecConstr,
+
         maybe_rule_check (Phase 0),
 
         -- Final clean-up simplification:



More information about the ghc-commits mailing list