[Git][ghc/ghc][wip/T24984] 13 commits: Fix -freg-graphs for FP and AARch64 NCG (#24941).

Simon Peyton Jones (@simonpj) gitlab at gitlab.haskell.org
Mon Jul 29 22:23:51 UTC 2024



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


Commits:
3f89ab92 by Andreas Klebinger at 2024-07-25T14:12:54+02:00
Fix -freg-graphs for FP and AARch64 NCG (#24941).

It seems we reserve 8 registers instead of four for global regs
based on the layout in Note [AArch64 Register assignments].

I'm not sure it's neccesary, but for now we just accept this state of
affairs and simple update -fregs-graph to account for this.

- - - - -
f6b4c1c9 by Simon Peyton Jones at 2024-07-27T09:45:44-04:00
Fix nasty bug in occurrence analyser

As #25096 showed, the occurrence analyser was getting one-shot info
flat out wrong.

This commit does two things:

* It fixes the bug and actually makes the code a bit tidier too.
  The work is done in the new function
     GHC.Core.Opt.OccurAnal.mkRhsOccEnv,
  especially the bit that prepares the `occ_one_shots` for the RHS.

  See Note [The OccEnv for a right hand side]

* When floating out a binding we must be conservative about one-shot
  info.  But we were zapping the entire demand info, whereas we only
  really need zap the /top level/ cardinality.

  See Note [Floatifying demand info when floating]
  in GHC.Core.Opt.SetLevels

For some reason there is a 2.2% improvement in compile-time allocation
for CoOpt_Read.  Otherwise nickels and dimes.

Metric Decrease:
    CoOpt_Read

- - - - -
646ee207 by Torsten Schmits at 2024-07-27T09:46:20-04:00
add missing cell in flavours table

- - - - -
ec2eafdb by Ben Gamari at 2024-07-28T20:51:12+02:00
users-guide: Drop mention of dead __PARALLEL_HASKELL__ macro

This has not existed for over a decade.

- - - - -
e2f2a56e by Arnaud Spiwack at 2024-07-28T22:21:07-04:00
Add tests for 25081

- - - - -
23f50640 by Arnaud Spiwack at 2024-07-28T22:21:07-04:00
Scale multiplicity in list comprehension

Fixes #25081

- - - - -
61cde2f9 by Simon Peyton Jones at 2024-07-29T23:23:42+01:00
Work in progress on rejigging kick-out

- - - - -
717ee3bf by Simon Peyton Jones at 2024-07-29T23:23:42+01:00
Wibbles

- - - - -
fe2316cc by Simon Peyton Jones at 2024-07-29T23:23:42+01:00
Fix egregious bug in any2

- - - - -
ab536462 by Simon Peyton Jones at 2024-07-29T23:23:42+01:00
Add a very important rider to (KK3)

(Not properly documented yet.)

- - - - -
beab3911 by Simon Peyton Jones at 2024-07-29T23:23:42+01:00
Documenation of the new plan

- - - - -
71dad0ac by Simon Peyton Jones at 2024-07-29T23:23:42+01:00
Wiblbe

- - - - -
9fc0d17f by Simon Peyton Jones at 2024-07-29T23:23:42+01:00
Respond to review

- - - - -


30 changed files:

- compiler/GHC/CmmToAsm/AArch64/Instr.hs
- compiler/GHC/CmmToAsm/AArch64/Ppr.hs
- compiler/GHC/CmmToAsm/AArch64/Regs.hs
- compiler/GHC/CmmToAsm/Reg/Graph/TrivColorable.hs
- compiler/GHC/Core/Opt/DmdAnal.hs
- compiler/GHC/Core/Opt/OccurAnal.hs
- compiler/GHC/Core/Opt/SetLevels.hs
- compiler/GHC/Core/Opt/Simplify/Iteration.hs
- compiler/GHC/Core/Opt/Specialise.hs
- compiler/GHC/Core/Predicate.hs
- compiler/GHC/Core/Type.hs
- compiler/GHC/Tc/Gen/Match.hs
- compiler/GHC/Tc/Solver/InertSet.hs
- compiler/GHC/Tc/Types/Constraint.hs
- compiler/GHC/Tc/Utils/TcType.hs
- compiler/GHC/Types/Demand.hs
- compiler/GHC/Types/Id.hs
- compiler/GHC/Types/Id/Info.hs
- compiler/GHC/Utils/Misc.hs
- compiler/GHC/Utils/Outputable.hs
- docs/users_guide/9.12.1-notes.rst
- docs/users_guide/phases.rst
- hadrian/doc/flavours.md
- + testsuite/tests/codeGen/should_gen_asm/T24941.hs
- testsuite/tests/codeGen/should_gen_asm/all.T
- + testsuite/tests/linear/should_compile/LinearListComprehension.hs
- testsuite/tests/linear/should_compile/all.T
- + testsuite/tests/linear/should_fail/T25081.hs
- + testsuite/tests/linear/should_fail/T25081.stderr
- testsuite/tests/linear/should_fail/all.T


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/62ea54a56fb6a672397374bfa2361743cd6a2c15...9fc0d17f685b1a1090e980f9401bcb87830ea732

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/62ea54a56fb6a672397374bfa2361743cd6a2c15...9fc0d17f685b1a1090e980f9401bcb87830ea732
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/20240729/42b99483/attachment.html>


More information about the ghc-commits mailing list