[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