[commit: ghc] wip/runtime-rep: Address #11471 by putting RuntimeRep in kinds. (d8c64e8)
git at git.haskell.org
git at git.haskell.org
Wed Feb 24 19:47:15 UTC 2016
Repository : ssh://git@git.haskell.org/ghc
On branch : wip/runtime-rep
Link : http://ghc.haskell.org/trac/ghc/changeset/d8c64e86361f6766ebe26a262bb229fb8301a42a/ghc
>---------------------------------------------------------------
commit d8c64e86361f6766ebe26a262bb229fb8301a42a
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.
>---------------------------------------------------------------
d8c64e86361f6766ebe26a262bb229fb8301a42a
compiler/basicTypes/DataCon.hs | 22 +-
compiler/basicTypes/MkId.hs | 29 +-
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 | 4 +-
compiler/types/Kind.hs | 30 +-
compiler/types/TyCoRep.hs | 92 +++---
compiler/types/TyCoRep.hs-boot | 2 +
compiler/types/TyCon.hs | 302 ++++++++++++-------
compiler/types/Type.hs | 133 +++++----
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/indexed-types/should_run/T11465a.hs | 2 +-
.../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 -
.../typecheck/should_run/KindInvariant.stderr | 3 +-
testsuite/tests/typecheck/should_run/TypeOf.hs | 4 +-
testsuite/tests/typecheck/should_run/TypeOf.stdout | 4 +-
utils/genprimopcode/Main.hs | 2 +-
utils/haddock | 2 +-
102 files changed, 1700 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 d8c64e86361f6766ebe26a262bb229fb8301a42a
More information about the ghc-commits
mailing list