[commit: ghc] wip/T11770: Demand Analyzer: Do not set OneShot information (second try) (6afb2bd)

git at git.haskell.org git at git.haskell.org
Fri Apr 1 15:36:50 UTC 2016


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

On branch  : wip/T11770
Link       : http://ghc.haskell.org/trac/ghc/changeset/6afb2bdef881aec3a25f7ee1dfe012a43531564a/ghc

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

commit 6afb2bdef881aec3a25f7ee1dfe012a43531564a
Author: Joachim Breitner <mail at joachim-breitner.de>
Date:   Fri Apr 1 13:11:18 2016 +0200

    Demand Analyzer: Do not set OneShot information (second try)
    
    as suggested in ticket:11770#comment:1. This code was buggy
    (#11770), and the occurrence analyzer does the same job anyways.
    
    This also elaborates the notes in the occurrence analyzer accordingly.
    
    Previously, the worker/wrapper code would go through lengths to transfer
    the oneShot annotations from the original function to both the worker
    and the wrapper. We now simply transfer the demand on the worker, and le
    the subsequent occurrence analyzer push this onto the lambda binders.
    
    Did not validate this yet, but I'm running out of time for today, so I’m
    pushing this to a feature branch for now. A review of how I am
    transfering the demand onto the worker is appreciated, maybe I’m doing
    it obviously wrong.


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

6afb2bdef881aec3a25f7ee1dfe012a43531564a
 compiler/basicTypes/Demand.hs                | 22 +++++++-
 compiler/simplCore/OccurAnal.hs              | 33 ++++++++----
 compiler/specialise/SpecConstr.hs            |  2 +-
 compiler/stranal/DmdAnal.hs                  | 55 ++-----------------
 compiler/stranal/WorkWrap.hs                 | 32 +++++------
 compiler/stranal/WwLib.hs                    | 80 ++++++++--------------------
 testsuite/tests/stranal/should_compile/all.T |  2 +-
 7 files changed, 90 insertions(+), 136 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 6afb2bdef881aec3a25f7ee1dfe012a43531564a


More information about the ghc-commits mailing list