[Git][ghc/ghc][wip/T21851-rule-win] 3 commits: Demand: Format Call SubDemands `Cn(sd)` as `C(n,sd)` (#22231)

Simon Peyton Jones (@simonpj) gitlab at gitlab.haskell.org
Fri Sep 30 07:45:59 UTC 2022



Simon Peyton Jones pushed to branch wip/T21851-rule-win 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.

- - - - -
7b9ad44f by Simon Peyton Jones at 2022-09-30T08:48:08+01:00
Make rewrite rules "win" over inlining

If a rewrite rule and a rewrite rule compete in the simplifier, this
patch makes sure that the rewrite rule "win".  That is, in general
a bit fragile, but it's a huge help when making specialisation work
reliably, as #21851 and #22097 showed.

The change is fairly straightforwad, and documented in
   Note [Rewrite rules and inlining]
in GHC.Core.Opt.Simplify.Iteration.

Compile-times change, with (sadly) a 0.5% upward trend.
But the payoff (more reliable specialisation) is large.

Metrics: compile_time/bytes allocated
-------------------------------------
Metrics: compile_time/bytes allocated
-----------------------------------------------
          T10421(normal)   +4.4% BAD
         T10421a(normal)   +6.1%
          T10547(normal)   +1.8%
          T11195(normal)   +1.2%
         T11303b(normal)   +1.2%
          T11822(normal)   +1.0%
          T13253(normal)   +1.7%
          T15304(normal)   -1.3%
          T16577(normal)   +3.3% BAD
          T17516(normal)   +2.4%
         T17977b(normal)   +1.2%
           T5837(normal)   +1.6%
           T8095(normal)   -1.2%
           T9198(normal)   +1.1%
           T9961(normal)   +2.8% BAD
  hard_hole_fits(normal)   +1.0%

               geo. mean   +0.5%
               minimum     -1.7%
               maximum     +6.1%

Metric Increase:
    T10421
    T16577
    T9961

- - - - -


30 changed files:

- .gitlab/ci.sh
- compiler/GHC/Core/Opt/Arity.hs
- compiler/GHC/Core/Opt/DmdAnal.hs
- compiler/GHC/Core/Opt/OccurAnal.hs
- compiler/GHC/Core/Opt/Simplify/Iteration.hs
- compiler/GHC/Core/Opt/Simplify/Utils.hs
- compiler/GHC/Core/Opt/WorkWrap.hs
- compiler/GHC/Types/Basic.hs
- compiler/GHC/Types/Demand.hs
- compiler/GHC/Utils/Monad.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/lib/integer/Makefile
- 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
- testsuite/tests/simplCore/should_compile/T18355.stderr
- testsuite/tests/simplCore/should_compile/T19890.stderr


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/683c166b191bdea248e9eb069be3a748eb97aad4...7b9ad44f42207a7d4ce388c945437f5856609401

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/683c166b191bdea248e9eb069be3a748eb97aad4...7b9ad44f42207a7d4ce388c945437f5856609401
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/f20ff06b/attachment-0001.html>


More information about the ghc-commits mailing list