[commit: ghc] wip/T11731: Add a final demand analyzer run right before TidyCore (a02e702)

git at git.haskell.org git at git.haskell.org
Fri Apr 1 12:53:32 UTC 2016


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

On branch  : wip/T11731
Link       : http://ghc.haskell.org/trac/ghc/changeset/a02e70206629bd7561526583a37ffb867673c1d1/ghc

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

commit a02e70206629bd7561526583a37ffb867673c1d1
Author: Joachim Breitner <mail at joachim-breitner.de>
Date:   Thu Mar 31 10:18:15 2016 +0200

    Add a final demand analyzer run right before TidyCore
    
    in order to have precise used-once information in the exported
    strictness signatures, as well as precise used-once information on
    thunks. This avoids the bad effects of #11731.
    
    The subsequent worker-wrapper pass is responsible for removing the
    demand environment part of the strictness signature. It does not run
    after the final demand analyzer pass, so remove this also in CoreTody.


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

a02e70206629bd7561526583a37ffb867673c1d1
 compiler/basicTypes/Demand.hs                      | 11 +++-
 compiler/basicTypes/Id.hs                          |  7 ++-
 compiler/basicTypes/IdInfo.hs                      | 10 +++-
 compiler/coreSyn/CoreTidy.hs                       |  5 +-
 compiler/simplCore/SimplCore.hs                    |  5 ++
 compiler/stranal/DmdAnal.hs                        | 28 ++++++++++
 compiler/stranal/WorkWrap.hs                       | 44 ++++++++++------
 testsuite/tests/perf/haddock/all.T                 |  3 +-
 .../tests/simplCore/should_compile/T4908.stderr    |  6 +--
 .../simplCore/should_compile/spec-inline.stderr    |  4 +-
 testsuite/tests/simplCore/should_run/all.T         |  2 +-
 .../tests/stranal/should_compile/T10694.stderr     | 61 ++++++++++++++++++++++
 .../stranal/sigs/BottomFromInnerLambda.stderr      |  7 +++
 testsuite/tests/stranal/sigs/DmdAnalGADTs.stderr   | 14 +++++
 testsuite/tests/stranal/sigs/HyperStrUse.stderr    |  6 +++
 testsuite/tests/stranal/sigs/StrAnalExample.stderr |  6 +++
 testsuite/tests/stranal/sigs/T8569.stderr          |  9 ++++
 testsuite/tests/stranal/sigs/T8598.stderr          |  6 +++
 testsuite/tests/stranal/sigs/UnsatFun.stderr       | 12 +++++
 19 files changed, 216 insertions(+), 30 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 a02e70206629bd7561526583a37ffb867673c1d1


More information about the ghc-commits mailing list