[Git][ghc/ghc][wip/nested-cpr-2019] 29 commits: Nested CPR

Sebastian Graf gitlab at gitlab.haskell.org
Wed Oct 21 06:47:42 UTC 2020



Sebastian Graf pushed to branch wip/nested-cpr-2019 at Glasgow Haskell Compiler / GHC


Commits:
b3b4b505 by Sebastian Graf at 2020-10-21T08:47:29+02:00
Nested CPR

- - - - -
da503e33 by Sebastian Graf at 2020-10-21T08:47:35+02:00
Move tests from stranal to cpranal

- - - - -
aeffe9f1 by Sebastian Graf at 2020-10-21T08:47:35+02:00
Accept FacState

- - - - -
cadbe986 by Sebastian Graf at 2020-10-21T08:47:35+02:00
Factor Cpr and Termination into a joint lattice

As a result, we don't even have to export Termination from Cpr. Neat!

Also I realised there is a simpler and more sound way to generate and
unleash CPR signatures.

- - - - -
e603eec2 by Sebastian Graf at 2020-10-21T08:47:35+02:00
Consider unboxing effects of WW better and get rid of hack

- - - - -
da7fb664 by Sebastian Graf at 2020-10-21T08:47:35+02:00
stuff

- - - - -
c4f11732 by Sebastian Graf at 2020-10-21T08:47:35+02:00
A slew of testsuite changes

- - - - -
dcb0d297 by Sebastian Graf at 2020-10-21T08:47:35+02:00
Fix T1600

- - - - -
d9f34cfc by Sebastian Graf at 2020-10-21T08:47:35+02:00
Fix primop termination

- - - - -
d905fbe5 by Sebastian Graf at 2020-10-21T08:47:35+02:00
Test for DataCon wrapper CPR

- - - - -
ed4779b6 by Sebastian Graf at 2020-10-21T08:47:35+02:00
Fix CPR of bottoming functions/primops

- - - - -
d038b30e by Sebastian Graf at 2020-10-21T08:47:35+02:00
Fix DataConWrapperCpr and accept other test outputs

- - - - -
fc138815 by Sebastian Graf at 2020-10-21T08:47:35+02:00
Accept two more changed test outputs

- - - - -
25bd8b59 by Sebastian Graf at 2020-10-21T08:47:35+02:00
Update CaseBinderCPR with a new function

- - - - -
a500eb47 by Sebastian Graf at 2020-10-21T08:47:35+02:00
Don't give the case binder the CPR property

- - - - -
fac12896 by Sebastian Graf at 2020-10-21T08:47:35+02:00
Prune CPR sigs to constant depth on all bindings

- - - - -
a197f416 by Sebastian Graf at 2020-10-21T08:47:35+02:00
Use variable length coding for ConTags

- - - - -
deaae105 by Sebastian Graf at 2020-10-21T08:47:35+02:00
Accept testuite output

- - - - -
b393fc78 by Sebastian Graf at 2020-10-21T08:47:35+02:00
Don't attach CPR sigs to expandable bindings; transform their unfoldings instead

- - - - -
e9ed08ed by Sebastian Graf at 2020-10-21T08:47:35+02:00
Revert "Don't give the case binder the CPR property"

This reverts commit 910edd76d5fe68b58c74f3805112f9faef4f2788.

It seems we broke too much with this change. We lost our big win in
`fish`.

- - - - -
2f0f2e2c by Sebastian Graf at 2020-10-21T08:47:35+02:00
A more modular and configurable approach to optimistic case binder CPR

- - - - -
70500c7f by Sebastian Graf at 2020-10-21T08:47:35+02:00
Fix T9291

- - - - -
1b3206ff by Sebastian Graf at 2020-10-21T08:47:35+02:00
Document -fcase-binder-cpr-depth in the user's guide

- - - - -
70975b23 by Sebastian Graf at 2020-10-21T08:47:35+02:00
Testsuite changes

- - - - -
68bb4fea by Sebastian Graf at 2020-10-21T08:47:35+02:00
Refactoring around cprAnalBind

- - - - -
196f86e6 by Sebastian Graf at 2020-10-21T08:47:36+02:00
Fix case binder CPR by not looking into unfoldings of case binders

- - - - -
dc2778bb by Sebastian Graf at 2020-10-21T08:47:36+02:00
Fix T16893

- - - - -
436312b2 by Sebastian Graf at 2020-10-21T08:47:36+02:00
Accept new test output for T17673

- - - - -
9a0484cc by Sebastian Graf at 2020-10-21T08:47:36+02:00
Accepting metric changes to advance CI

There are two ghc/alloc increases, which we might want to investigate
later on.

Metric Decrease:
    T1969
    T9233
    T9872a
    T9872b
    T9872c
    T9872d
    T12425
Metric Increase:
    T13253
    T13701
    T15164
Metric Increase ['max_bytes_used'] (test_env='x86_64-darwin'):
    T9675
Metric Increase ['max_bytes_used', 'peak_megabytes_allocated']:
    T10370

- - - - -


30 changed files:

- compiler/GHC/Core/Make.hs
- compiler/GHC/Core/Opt/Arity.hs
- compiler/GHC/Core/Opt/CprAnal.hs
- compiler/GHC/Core/Opt/SetLevels.hs
- compiler/GHC/Core/Opt/Simplify.hs
- compiler/GHC/Core/Opt/WorkWrap.hs
- compiler/GHC/Core/Opt/WorkWrap/Utils.hs
- compiler/GHC/CoreToIface.hs
- compiler/GHC/Data/Maybe.hs
- compiler/GHC/Driver/Flags.hs
- compiler/GHC/Driver/Session.hs
- compiler/GHC/Iface/Syntax.hs
- compiler/GHC/Iface/Tidy.hs
- compiler/GHC/Types/Cpr.hs
- compiler/GHC/Types/Demand.hs
- compiler/GHC/Types/Id/Info.hs
- compiler/GHC/Types/Id/Make.hs
- docs/users_guide/using-optimisation.rst
- testsuite/tests/stranal/sigs/CaseBinderCPR.hs → testsuite/tests/cpranal/sigs/CaseBinderCPR.hs
- + testsuite/tests/cpranal/sigs/CaseBinderCPR.stderr
- testsuite/tests/stranal/sigs/FacState.hs → testsuite/tests/cpranal/sigs/FacState.hs
- + testsuite/tests/cpranal/sigs/FacState.stderr
- + testsuite/tests/cpranal/sigs/Makefile
- testsuite/tests/stranal/should_compile/T10694.hs → testsuite/tests/cpranal/sigs/T10694.hs
- + testsuite/tests/cpranal/sigs/T10694.stderr
- + testsuite/tests/cpranal/sigs/T1600.hs
- + testsuite/tests/cpranal/sigs/T1600.stderr
- testsuite/tests/stranal/sigs/T5075.hs → testsuite/tests/cpranal/sigs/T5075.hs
- + testsuite/tests/cpranal/sigs/T5075.stderr
- + testsuite/tests/cpranal/sigs/all.T


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/6f7b40177f693d748080a2c5e17dc2c4da3138a8...9a0484ccd4c5afb63cc2200a15050f9289be1b2e

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/6f7b40177f693d748080a2c5e17dc2c4da3138a8...9a0484ccd4c5afb63cc2200a15050f9289be1b2e
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20201021/dac4019b/attachment-0001.html>


More information about the ghc-commits mailing list