[commit: ghc] ghc-8.0: Address #11471 by putting RuntimeRep in kinds. (223ef8d)
git at git.haskell.org
git at git.haskell.org
Sun Mar 13 22:33:18 UTC 2016
Repository : ssh://git@git.haskell.org/ghc
On branch : ghc-8.0
Link : http://ghc.haskell.org/trac/ghc/changeset/223ef8dba435aeb36afc9f9d76cb579da6651a10/ghc
>---------------------------------------------------------------
commit 223ef8dba435aeb36afc9f9d76cb579da6651a10
Author: Richard Eisenberg <eir at cis.upenn.edu>
Date: Thu Feb 4 10:42:56 2016 -0500
Address #11471 by putting RuntimeRep in kinds.
See Note [TYPE] in TysPrim. There are still some outstanding
pieces in #11471 though, so this doesn't actually nail the bug.
This commit also contains a few performance improvements:
* Short-cut equality checking of nullary type syns
* Compare types before kinds in eqType
* INLINE coreViewOneStarKind
* Store tycon binders separately from kinds.
This resulted in a ~10% performance improvement in compiling
the Cabal package. No change in functionality other than
performance. (This affects the interface file format, though.)
This commit updates the haddock submodule.
(cherry picked from commit d8c64e86361f6766ebe26a262bb229fb8301a42a)
>---------------------------------------------------------------
223ef8dba435aeb36afc9f9d76cb579da6651a10
compiler/basicTypes/DataCon.hs | 22 +-
compiler/basicTypes/MkId.hs | 30 +-
compiler/basicTypes/PatSyn.hs | 4 +-
compiler/coreSyn/CoreLint.hs | 4 +-
compiler/coreSyn/CorePrep.hs | 2 +-
compiler/coreSyn/MkCore.hs | 20 +-
compiler/deSugar/DsBinds.hs | 2 +-
compiler/deSugar/DsForeign.hs | 8 +-
compiler/deSugar/DsUtils.hs | 4 +-
compiler/ghci/RtClosureInspect.hs | 4 +-
compiler/iface/BinIface.hs | 2 +-
compiler/iface/BuildTyCl.hs | 9 +-
compiler/iface/IfaceEnv.hs | 2 +-
compiler/iface/IfaceSyn.hs | 148 +++++-----
compiler/iface/IfaceType.hs | 119 ++++++--
compiler/iface/MkIface.hs | 35 +--
compiler/iface/TcIface.hs | 96 +++---
compiler/prelude/PrelNames.hs | 38 ++-
compiler/prelude/PrimOp.hs | 2 +-
compiler/prelude/TysPrim.hs | 192 +++++++-----
compiler/prelude/TysWiredIn.hs | 267 +++++++++++++----
compiler/prelude/TysWiredIn.hs-boot | 22 +-
compiler/typecheck/Inst.hs | 127 +++++++-
compiler/typecheck/TcBinds.hs | 2 +-
compiler/typecheck/TcCanonical.hs | 4 +-
compiler/typecheck/TcDeriv.hs | 2 +-
compiler/typecheck/TcErrors.hs | 26 +-
compiler/typecheck/TcExpr.hs | 12 +-
compiler/typecheck/TcHsSyn.hs | 26 +-
compiler/typecheck/TcHsType.hs | 325 +++++++--------------
compiler/typecheck/TcInstDcls.hs | 7 +-
compiler/typecheck/TcInteract.hs | 2 +-
compiler/typecheck/TcMType.hs | 34 ++-
compiler/typecheck/TcPat.hs | 4 +-
compiler/typecheck/TcPatSyn.hs | 18 +-
compiler/typecheck/TcRnDriver.hs | 2 +-
compiler/typecheck/TcSMonad.hs | 6 +-
compiler/typecheck/TcSimplify.hs | 22 +-
compiler/typecheck/TcSplice.hs | 36 +--
compiler/typecheck/TcTyClsDecls.hs | 196 +++++++------
compiler/typecheck/TcType.hs | 12 +-
compiler/typecheck/TcTypeNats.hs | 12 +-
compiler/typecheck/TcUnify.hs | 19 +-
compiler/typecheck/TcValidity.hs | 6 +-
compiler/types/Kind.hs | 30 +-
compiler/types/TyCoRep.hs | 106 ++++---
compiler/types/TyCoRep.hs-boot | 2 +
compiler/types/TyCon.hs | 302 ++++++++++++-------
compiler/types/Type.hs | 131 +++++----
compiler/utils/Util.hs | 16 +
compiler/vectorise/Vectorise/Exp.hs | 2 +-
compiler/vectorise/Vectorise/Generic/PData.hs | 3 +-
compiler/vectorise/Vectorise/Type/Env.hs | 2 +-
compiler/vectorise/Vectorise/Type/TyConDecl.hs | 5 +-
libraries/base/Data/Data.hs | 2 +-
libraries/base/Data/Typeable/Internal.hs | 28 +-
libraries/base/GHC/Err.hs | 8 +-
libraries/base/GHC/Exts.hs | 4 +-
libraries/base/tests/T11334.hs | 4 +-
libraries/ghc-prim/GHC/Types.hs | 73 ++++-
testsuite/tests/dependent/should_compile/T11405.hs | 2 +-
.../dependent/should_fail/BadTelescope4.stderr | 6 +-
.../tests/dependent/should_fail/TypeSkolEscape.hs | 2 +-
.../dependent/should_fail/TypeSkolEscape.stderr | 10 +-
testsuite/tests/ghci/scripts/T4175.stdout | 10 +-
testsuite/tests/ghci/scripts/T7627.stdout | 8 +-
testsuite/tests/ghci/scripts/T7939.stdout | 19 +-
testsuite/tests/ghci/scripts/T8535.stdout | 2 +-
testsuite/tests/ghci/scripts/T9181.stdout | 18 +-
testsuite/tests/ghci/scripts/ghci020.stdout | 2 +-
testsuite/tests/ghci/should_run/T10145.stdout | 2 +-
.../indexed-types/should_compile/T3017.stderr | 4 +-
.../indexed-types/should_fail/ClosedFam3.stderr | 45 ++-
.../indexed-types/should_fail/Overlap4.stderr | 9 +-
.../indexed-types/should_fail/SimpleFail1a.stderr | 3 +-
.../indexed-types/should_fail/TyFamArity1.stderr | 8 +-
.../indexed-types/should_fail/TyFamArity2.stderr | 13 +-
.../tests/partial-sigs/should_compile/ADT.stderr | 1 -
.../should_compile/DataFamilyInstanceLHS.stderr | 1 -
.../partial-sigs/should_compile/Meltdown.stderr | 3 +-
.../NamedWildcardInDataFamilyInstanceLHS.stderr | 1 -
.../NamedWildcardInTypeFamilyInstanceLHS.stderr | 3 +-
.../partial-sigs/should_compile/SkipMany.stderr | 1 -
.../should_compile/TypeFamilyInstanceLHS.stderr | 3 +-
testsuite/tests/perf/compiler/all.T | 3 +-
testsuite/tests/polykinds/T11399.stderr | 4 +-
testsuite/tests/polykinds/T7328.stderr | 2 +-
testsuite/tests/polykinds/TidyClassKinds.stderr | 2 +-
testsuite/tests/roles/should_compile/Roles1.stderr | 7 -
testsuite/tests/roles/should_compile/Roles2.stderr | 2 -
testsuite/tests/roles/should_compile/Roles3.stderr | 6 +-
testsuite/tests/roles/should_compile/T8958.stderr | 1 -
.../tests/simplCore/should_compile/T9400.stderr | 2 +-
.../simplCore/should_compile/spec-inline.stderr | 2 +-
testsuite/tests/th/TH_Roles2.stderr | 5 +-
.../tests/typecheck/should_compile/tc231.stderr | 2 -
testsuite/tests/typecheck/should_run/TypeOf.hs | 4 +-
testsuite/tests/typecheck/should_run/TypeOf.stdout | 4 +-
utils/genprimopcode/Main.hs | 2 +-
utils/haddock | 2 +-
100 files changed, 1710 insertions(+), 1166 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 223ef8dba435aeb36afc9f9d76cb579da6651a10
More information about the ghc-commits
mailing list