[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