[commit: ghc] wip/tdammers/D4394-squash: Cache coercion roles in NthCo (03ed25a)

git at git.haskell.org git at git.haskell.org
Fri Apr 20 08:39:24 UTC 2018


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

On branch  : wip/tdammers/D4394-squash
Link       : http://ghc.haskell.org/trac/ghc/changeset/03ed25a8f228c2f6d56793bc45f5709b9afb02c7/ghc

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

commit 03ed25a8f228c2f6d56793bc45f5709b9afb02c7
Author: Tobias Dammers <tdammers at gmail.com>
Date:   Thu Jan 25 20:33:58 2018 +0100

    Cache coercion roles in NthCo
    
    Most callers of mkNthCo know the role of the coercion they
    are trying to make. So instead of calculating this role, we
    pass it in, forcing the caller to calculate it when needed.
    
    This introduces a performance regression in perf/compiler/T9872d.


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

03ed25a8f228c2f6d56793bc45f5709b9afb02c7
 compiler/coreSyn/CoreFVs.hs                      |   2 +-
 compiler/coreSyn/CoreLint.hs                     |   8 +-
 compiler/coreSyn/CoreOpt.hs                      |  24 +-
 compiler/coreSyn/CoreUtils.hs                    |   2 +-
 compiler/iface/TcIface.hs                        |   3 +-
 compiler/iface/ToIface.hs                        |   2 +-
 compiler/typecheck/TcCanonical.hs                |   2 +-
 compiler/typecheck/TcEvidence.hs                 |  12 +-
 compiler/typecheck/TcTyDecls.hs                  |   2 +-
 compiler/typecheck/TcType.hs                     |   4 +-
 compiler/typecheck/TcUnify.hs                    |   4 +-
 compiler/typecheck/TcValidity.hs                 |   2 +-
 compiler/types/Coercion.hs                       | 415 +++++++++++++++--------
 compiler/types/Coercion.hs-boot                  |   2 +-
 compiler/types/FamInstEnv.hs                     |   2 +-
 compiler/types/OptCoercion.hs                    | 103 +++---
 compiler/types/TyCoRep.hs                        |  39 ++-
 compiler/types/Type.hs                           |  20 +-
 compiler/types/Unify.hs                          |   4 +-
 docs/core-spec/CoreLint.ott                      |   4 +-
 docs/core-spec/CoreSyn.ott                       |   6 +-
 docs/core-spec/core-spec.mng                     |   2 +-
 docs/core-spec/core-spec.pdf                     | Bin 354307 -> 355707 bytes
 libraries/array                                  |   2 +-
 testsuite/tests/perf/compiler/all.T              |  13 +-
 testsuite/tests/perf/haddock/all.T               |   3 +-
 testsuite/tests/pmcheck/should_compile/T11195.hs |   2 +-
 27 files changed, 415 insertions(+), 269 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 03ed25a8f228c2f6d56793bc45f5709b9afb02c7


More information about the ghc-commits mailing list