[commit: ghc] master: Upgrade UniqSet to a newtype (cbe569a)

git at git.haskell.org git at git.haskell.org
Wed Mar 1 18:48:26 UTC 2017


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/cbe569a56e2a82bb93a008beb56869d9a6a1d047/ghc

>---------------------------------------------------------------

commit cbe569a56e2a82bb93a008beb56869d9a6a1d047
Author: David Feuer <david.feuer at gmail.com>
Date:   Wed Mar 1 13:47:39 2017 -0500

    Upgrade UniqSet to a newtype
    
    The fundamental problem with `type UniqSet = UniqFM` is that `UniqSet`
    has a key invariant `UniqFM` does not. For example, `fmap` over
    `UniqSet` will generally produce nonsense.
    
    * Upgrade `UniqSet` from a type synonym to a newtype.
    
    * Remove unused and shady `extendVarSet_C` and `addOneToUniqSet_C`.
    
    * Use cached unique in `tyConsOfType` by replacing
      `unitNameEnv (tyConName tc) tc` with `unitUniqSet tc`.
    
    Reviewers: austin, hvr, goldfire, simonmar, niteria, bgamari
    
    Reviewed By: niteria
    
    Subscribers: thomie
    
    Differential Revision: https://phabricator.haskell.org/D3146


>---------------------------------------------------------------

cbe569a56e2a82bb93a008beb56869d9a6a1d047
 compiler/basicTypes/DataCon.hs                     |   3 +-
 compiler/basicTypes/NameSet.hs                     |   5 +-
 compiler/basicTypes/RdrName.hs                     |   3 +-
 compiler/basicTypes/VarEnv.hs                      |  49 ++++----
 compiler/basicTypes/VarSet.hs                      |  16 +--
 compiler/cmm/PprC.hs                               |   2 +-
 compiler/coreSyn/CoreFVs.hs                        |   6 +-
 compiler/coreSyn/CoreSubst.hs                      |   2 +-
 compiler/coreSyn/CoreSyn.hs                        |   4 +-
 compiler/deSugar/DsArrows.hs                       |  21 ++--
 compiler/deSugar/DsUsage.hs                        |   4 +-
 compiler/ghci/Debugger.hs                          |  10 +-
 compiler/ghci/RtClosureInspect.hs                  |  11 +-
 compiler/iface/MkIface.hs                          |   4 +-
 compiler/llvmGen/LlvmCodeGen/Base.hs               |   2 +-
 compiler/nativeGen/RegAlloc/Graph/ArchBase.hs      |   6 +-
 compiler/nativeGen/RegAlloc/Graph/Main.hs          |  16 +--
 compiler/nativeGen/RegAlloc/Graph/Spill.hs         |   6 +-
 compiler/nativeGen/RegAlloc/Graph/SpillClean.hs    |   6 +-
 compiler/nativeGen/RegAlloc/Graph/SpillCost.hs     |   6 +-
 compiler/nativeGen/RegAlloc/Graph/TrivColorable.hs |   6 +-
 compiler/nativeGen/RegAlloc/Linear/Main.hs         |   6 +-
 compiler/nativeGen/RegAlloc/Liveness.hs            |  28 +++--
 compiler/rename/RnBinds.hs                         |   6 +-
 compiler/rename/RnSource.hs                        |   6 +-
 compiler/simplCore/OccurAnal.hs                    |  20 ++--
 compiler/stranal/DmdAnal.hs                        |   3 +-
 compiler/typecheck/TcBinds.hs                      |   3 +-
 compiler/typecheck/TcEvidence.hs                   |   6 +-
 compiler/typecheck/TcExpr.hs                       |   6 +-
 compiler/typecheck/TcMType.hs                      |   6 +-
 compiler/typecheck/TcSMonad.hs                     |   3 +-
 compiler/typecheck/TcSimplify.hs                   |   8 +-
 compiler/typecheck/TcTyDecls.hs                    |   3 +-
 compiler/typecheck/TcValidity.hs                   |   6 +-
 compiler/types/TyCoRep.hs                          |   7 +-
 compiler/types/Type.hs                             |  52 ++++-----
 compiler/types/Unify.hs                            |  11 +-
 compiler/utils/GraphColor.hs                       |   4 +-
 compiler/utils/GraphOps.hs                         |  22 ++--
 compiler/utils/GraphPpr.hs                         |   6 +-
 compiler/utils/UniqDSet.hs                         |   2 +-
 compiler/utils/UniqFM.hs                           |   2 +-
 compiler/utils/UniqSet.hs                          | 128 +++++++++++++++++----
 compiler/vectorise/Vectorise/Env.hs                |   3 +-
 compiler/vectorise/Vectorise/Type/Classify.hs      |  10 +-
 testsuite/tests/callarity/unittest/CallArity1.hs   |   6 +-
 47 files changed, 321 insertions(+), 230 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 cbe569a56e2a82bb93a008beb56869d9a6a1d047


More information about the ghc-commits mailing list