[Git][ghc/ghc][wip/T22084] 4 commits: Demand: Format Call SubDemands `Cn(sd)` as `C(n,sd)` (#22231)

Simon Peyton Jones (@simonpj) gitlab at gitlab.haskell.org
Fri Sep 30 16:46:00 UTC 2022



Simon Peyton Jones pushed to branch wip/T22084 at Glasgow Haskell Compiler / GHC


Commits:
5a535172 by Sebastian Graf at 2022-09-29T17:04:20+02:00
Demand: Format Call SubDemands `Cn(sd)` as `C(n,sd)` (#22231)

Justification in #22231. Short form: In a demand like `1C1(C1(L))`
it was too easy to confuse which `1` belongs to which `C`. Now
that should be more obvious.

Fixes #22231

- - - - -
ea0083bf by Bryan Richter at 2022-09-29T15:48:38-04:00
Revert "ci: enable parallel compression for xz"

Combined wxth XZ_OPT=9, this blew the memory capacity of CI runners.

This reverts commit a5f9c35f5831ef5108e87813a96eac62803852ab.

- - - - -
9abcc262 by Simon Peyton Jones at 2022-09-30T08:58:30+01:00
Don't keep exit join points so much

We were religiously keeping exit join points throughout, which
had some bad effects (#21148, #22084).

This MR arranges that exit join points are inhibited from inlining
only in /one/ Simplifier pass (right after Exitification).

It's not a big deal, but it shaves 0.1% off compile times.

- - - - -
f9a5a739 by Simon Peyton Jones at 2022-09-30T17:47:54+01:00
Inline used-once non-recursive join points very aggressively

Given join j x = rhs in
      joinrec k y = ....j x....

where this is the only occurrence of `j`, we want to inline `j`.
(Unless sm_keep_exits is on.)

This is just a tidy-up really.  It doesn't change allocation, but
getting rid of a binding is always good.

- - - - -


30 changed files:

- .gitlab/ci.sh
- compiler/GHC/Core/Opt/Arity.hs
- compiler/GHC/Core/Opt/DmdAnal.hs
- compiler/GHC/Core/Opt/Exitify.hs
- compiler/GHC/Core/Opt/OccurAnal.hs
- compiler/GHC/Core/Opt/Pipeline.hs
- compiler/GHC/Core/Opt/Simplify/Env.hs
- compiler/GHC/Core/Opt/Simplify/Utils.hs
- compiler/GHC/Core/Opt/SpecConstr.hs
- compiler/GHC/Core/Opt/WorkWrap.hs
- compiler/GHC/Driver/Config/Core/Opt/Simplify.hs
- compiler/GHC/Types/Basic.hs
- compiler/GHC/Types/Demand.hs
- docs/users_guide/using-optimisation.rst
- testsuite/tests/arityanal/should_compile/Arity01.stderr
- testsuite/tests/arityanal/should_compile/Arity02.stderr
- testsuite/tests/arityanal/should_compile/Arity04.stderr
- testsuite/tests/arityanal/should_compile/Arity05.stderr
- testsuite/tests/arityanal/should_compile/Arity06.stderr
- testsuite/tests/arityanal/should_compile/Arity08.stderr
- testsuite/tests/arityanal/should_compile/Arity11.stderr
- testsuite/tests/arityanal/should_compile/Arity14.stderr
- testsuite/tests/arityanal/should_compile/Arity15.stderr
- testsuite/tests/arityanal/should_compile/Arity16.stderr
- testsuite/tests/determinism/determ004/determ004.hs
- testsuite/tests/simplCore/should_compile/OpaqueNoSpecialise.stderr
- testsuite/tests/simplCore/should_compile/T13156.hs
- testsuite/tests/simplCore/should_compile/T14152.stderr
- testsuite/tests/simplCore/should_compile/T14152a.stderr
- testsuite/tests/simplCore/should_compile/T18013.stderr


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/87f32247e4beef49e010e5bfc0aa7a12329fd173...f9a5a7394d7d7108b827c50441eb48237f75ffea

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/87f32247e4beef49e010e5bfc0aa7a12329fd173...f9a5a7394d7d7108b827c50441eb48237f75ffea
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/20220930/3135788a/attachment.html>


More information about the ghc-commits mailing list