[commit: ghc] master: Demand analyser: Implement LetUp rule (#12370) (45d8f4e)

git at git.haskell.org git at git.haskell.org
Tue Jul 12 11:24:01 UTC 2016


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

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

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

commit 45d8f4eb2bf2fcb103517d064e7ba1e491a66f4c
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


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

45d8f4eb2bf2fcb103517d064e7ba1e491a66f4c
 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 45d8f4eb2bf2fcb103517d064e7ba1e491a66f4c


More information about the ghc-commits mailing list