[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