[commit: ghc] dicts-strict: spec dmd transformer for dictsels, resuscitated -fdicts-strict, added hacker-only -fno-newtype-dicts (d93102d)

Nicolas Frisby nicolas.frisby at gmail.com
Thu Apr 11 20:59:05 CEST 2013


Repository : http://darcs.haskell.org/ghc.git/

On branch  : dicts-strict

https://github.com/ghc/ghc/commit/d93102d2efdf6f2a7206b9347f2e37d7ac9e534f

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

commit d93102d2efdf6f2a7206b9347f2e37d7ac9e534f
Author: Nicolas Frisby <nicolas.frisby at gmail.com>
Date:   Wed Mar 6 15:35:20 2013 +0000

    spec dmd transformer for dictsels, resuscitated -fdicts-strict, added hacker-only -fno-newtype-dicts
    
     *** STOWED IN THIS BRANCH UNTIL CARDINALITY IS MERGED ***
    
     1) cardinality prevents a regression (see below)
    
     2) some refactoring of dmdAnal for cardinality will also simplify
     this patch (as opposed to conflicting with it...)
    
    Several benefits in nofib, with two exceptions. spectral-norm doubles
    allocation. SPJ says the new cardinality analysis ought to prevent
    this. (See the second comment on #7520.) fannkuch-redux shows a slight
    slowdown, which I haven't investigated.

 compiler/basicTypes/Demand.lhs    |  23 +++++-
 compiler/basicTypes/Id.lhs        |  14 ++--
 compiler/iface/BuildTyCl.lhs      |   3 +-
 compiler/iface/IfaceSyn.lhs       |   3 +-
 compiler/main/DynFlags.hs         |   5 +-
 compiler/main/StaticFlags.hs      |  11 ++-
 compiler/simplCore/SimplUtils.lhs |  13 ++--
 compiler/stranal/DmdAnal.lhs      | 152 +++++++++++++++++++++++++++-----------
 compiler/types/Type.lhs           |  27 +------
 9 files changed, 155 insertions(+), 96 deletions(-)


Diff suppressed because of size. To see it, use:

    git show d93102d2efdf6f2a7206b9347f2e37d7ac9e534f



More information about the ghc-commits mailing list