[commit: ghc] wip/spj-early-inline4: The Early Inline Patch (da9aaad)

git at git.haskell.org git at git.haskell.org
Sun Feb 26 18:06:40 UTC 2017


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

On branch  : wip/spj-early-inline4
Link       : http://ghc.haskell.org/trac/ghc/changeset/da9aaad9610c7e1dcd5cb624f87ced9b003ae569/ghc

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

commit da9aaad9610c7e1dcd5cb624f87ced9b003ae569
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date:   Tue Feb 14 15:08:24 2017 +0000

    The Early Inline Patch
    
    This very small patch switches on sm_inline even in the InitialPhase
    (aka "gentle" phase).   There is no reason not to... and the results
    are astonishing.
    
    I think the peformance of GHC itself improves by about 5%; and some
    programs get much smaller, quicker.  Result: across the board irmprovements in
    compile time performance.  Here are the changes in perf/compiler;
    the numbers are decreases in compiler bytes-allocated:
    
      3%   T5837
      7%   parsing001
      9%   T12234
      35%  T9020
      9%   T3064
      13%  T9961
      20%  T13056
      5%   T9872d
      5%   T9872c
      5%   T9872b
      7%   T9872a
      5%   T783
      35%  T12227
      20%  T1969
    
    Plus in perf/should_run
    
      5%   lazy-bs-alloc
    
    It wasn't as easy as it sounds: I did a raft of preparatory work in
    earlier patches.  But it's great!


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

da9aaad9610c7e1dcd5cb624f87ced9b003ae569
 compiler/simplCore/SimplCore.hs                    |  38 +++++++-
 compiler/simplCore/SimplUtils.hs                   |  60 +++++-------
 .../tests/codeGen/should_compile/debug.stdout      |   3 +-
 testsuite/tests/concurrent/should_run/T4030.stderr |   1 -
 testsuite/tests/deriving/perf/all.T                |   3 +-
 .../indexed-types/should_compile/T7837.stderr      |   3 +-
 testsuite/tests/perf/compiler/T4007.stdout         |   8 +-
 testsuite/tests/perf/compiler/all.T                |  65 +++++++++----
 testsuite/tests/perf/haddock/all.T                 |   3 +-
 testsuite/tests/perf/should_run/all.T              |   2 +
 testsuite/tests/simplCore/should_compile/Makefile  |  11 ++-
 testsuite/tests/simplCore/should_compile/T10181.hs |   5 +
 .../tests/simplCore/should_compile/T3772.stdout    |  88 +++++++++---------
 .../tests/simplCore/should_compile/T4138.stdout    |   2 +-
 testsuite/tests/simplCore/should_compile/T7785.hs  |  14 ++-
 testsuite/tests/simplCore/should_compile/T8848.hs  |  13 ++-
 .../tests/simplCore/should_compile/T8848.stderr    | 101 ---------------------
 .../tests/simplCore/should_compile/T9509.stdout    |   1 +
 testsuite/tests/simplCore/should_compile/T9509a.hs |   4 +-
 testsuite/tests/simplCore/should_compile/all.T     |   6 +-
 .../tests/simplCore/should_compile/rule2.stderr    |  13 +--
 testsuite/tests/simplCore/should_run/T7611.hs      |   1 +
 .../tests/simplCore/should_run/simplrun002.hs      |   8 +-
 .../tests/simplCore/should_run/simplrun008.hs      |   6 +-
 testsuite/tests/th/TH_Roles2.stderr                |   4 +-
 25 files changed, 219 insertions(+), 244 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc da9aaad9610c7e1dcd5cb624f87ced9b003ae569


More information about the ghc-commits mailing list