[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