[commit: ghc] wip/T12370: Demand analyser: Implement LetUp rule (#12370) (4428f61)

git at git.haskell.org git at git.haskell.org
Tue Jul 12 10:33:34 UTC 2016


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

On branch  : wip/T12370
Link       : http://ghc.haskell.org/trac/ghc/changeset/4428f614d3dea136cee40f00e39878126d02b079/ghc

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

commit 4428f614d3dea136cee40f00e39878126d02b079
Author: Joachim Breitner <mail at joachim-breitner.de>
Date:   Wed Jul 6 15:44:18 2016 +0200

    Demand analyser: Implement LetUp rule (#12370)
    
    This makes the implementation match the description in the paper more
    closely: There, a let binding that is not a function has first its body
    analised, and then the binding’s RHS. This way, the demand on the bound
    variable by the body can be fed into the RHS, yielding more precise
    results.
    
    Performance measurements do unfortunately not show significant
    improvements or regessions.
    
    Differential Revision: https://phabricator.haskell.org/D2395


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

4428f614d3dea136cee40f00e39878126d02b079
 compiler/stranal/DmdAnal.hs                        | 100 ++++++++++++++++-----
 .../simplCore/should_compile/spec-inline.stderr    |   2 +-
 testsuite/tests/stranal/sigs/T12370.hs             |  12 +++
 testsuite/tests/stranal/sigs/T12370.stderr         |  14 +++
 testsuite/tests/stranal/sigs/all.T                 |   1 +
 5 files changed, 107 insertions(+), 22 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 4428f614d3dea136cee40f00e39878126d02b079


More information about the ghc-commits mailing list