[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