[commit: ghc] ghc-8.0: Improve piResultTys and friends (6ccb004)
git at git.haskell.org
git at git.haskell.org
Sun Mar 13 22:33:12 UTC 2016
Repository : ssh://git@git.haskell.org/ghc
On branch : ghc-8.0
Link : http://ghc.haskell.org/trac/ghc/changeset/6ccb00466147602e8fc0dccf97f575afbbe1a436/ghc
>---------------------------------------------------------------
commit 6ccb00466147602e8fc0dccf97f575afbbe1a436
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Thu Feb 18 11:34:12 2016 +0000
Improve piResultTys and friends
Several things here:
* Re-implement piResultTys so that its substitution has
the correct in-scope set
That means paying close attention to performance, since as we
discovered in Trac #11371, it's a heavily used function and
is often used on ordinary function types, with no foralls to
worry about substituting.
* Kill off applyTys, which was just the same as piResultTys.
* Re-engineer MkCore.mkCoreApps so that it calls piResultTys,
rather than repeatedly calling piResultTy.
(cherry picked from commit 4d031cf91c5eed9b162703daee274bbbe94bdc42)
>---------------------------------------------------------------
6ccb00466147602e8fc0dccf97f575afbbe1a436
compiler/coreSyn/CoreLint.hs | 2 +-
compiler/coreSyn/CoreUtils.hs | 6 +-
compiler/coreSyn/MkCore.hs | 26 +++----
compiler/iface/BuildTyCl.hs | 2 +-
compiler/typecheck/TcClassDcl.hs | 7 +-
compiler/typecheck/TcInstDcls.hs | 2 +-
compiler/typecheck/TcType.hs | 2 +-
compiler/types/Coercion.hs | 9 ++-
compiler/types/Type.hs | 145 ++++++++++++++++++++++-----------------
9 files changed, 109 insertions(+), 92 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 6ccb00466147602e8fc0dccf97f575afbbe1a436
More information about the ghc-commits
mailing list