[commit: ghc] master: Produce KindReps for common kinds in GHC.Types (c1dacb8)

git at git.haskell.org git at git.haskell.org
Fri Mar 3 21:36:02 UTC 2017


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

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/c1dacb8a9c18677495bbe7e41391f8ca7a573070/ghc

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

commit c1dacb8a9c18677495bbe7e41391f8ca7a573070
Author: Ben Gamari <bgamari.foss at gmail.com>
Date:   Fri Mar 3 15:47:47 2017 -0500

    Produce KindReps for common kinds in GHC.Types
    
    Unfortunately this comes with a fair bit of implementation cost. Perhaps
    some refactoring would help, but in the interest of getting 8.2 out the
    door I'm pushing as-is.
    
    While this doesn't have nearly the effect on compiler allocations
    that D3166 has, it's still nothing to sneeze at. nofib shows,
    ```
    ------------------------------------------------------------------------
            Program               master           D3166            D3219
    ------------------------------------------------------------------------
            -1 s.d.                -----          -3.555%          -4.081%
            +1 s.d.                -----          +1.937%          +1.593%
            Average                -----          -0.847%          -1.285%
    ```
    
    Test Plan: Validate
    
    Reviewers: austin
    
    Subscribers: thomie, simonmar
    
    Differential Revision: https://phabricator.haskell.org/D3219


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

c1dacb8a9c18677495bbe7e41391f8ca7a573070
 compiler/prelude/PrelNames.hs                      |  23 ++-
 compiler/typecheck/TcTypeable.hs                   | 157 +++++++++++++++------
 .../tests/deSugar/should_compile/T2431.stderr      |  43 ++----
 .../should_compile/DumpTypecheckedAst.stderr       |  13 +-
 testsuite/tests/roles/should_compile/Roles1.stderr |  16 +--
 .../tests/roles/should_compile/Roles13.stderr      |  56 +++-----
 .../tests/roles/should_compile/Roles14.stderr      |   4 +-
 testsuite/tests/roles/should_compile/Roles2.stderr |   6 +-
 testsuite/tests/roles/should_compile/Roles3.stderr |  14 +-
 testsuite/tests/roles/should_compile/Roles4.stderr |   6 +-
 testsuite/tests/roles/should_compile/T8958.stderr  |   9 +-
 .../tests/simplCore/should_compile/T7360.stderr    |  19 +--
 .../tests/simplCore/should_compile/T8274.stdout    |   8 +-
 testsuite/tests/th/TH_Roles2.stderr                |  10 +-
 14 files changed, 210 insertions(+), 174 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 c1dacb8a9c18677495bbe7e41391f8ca7a573070


More information about the ghc-commits mailing list