[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