[Git][ghc/ghc][wip/ghc-9.6-backports] 13 commits: Refactor estimation of stack info table provenance

Zubin (@wz1000) gitlab at gitlab.haskell.org
Tue Sep 19 17:02:13 UTC 2023



Zubin pushed to branch wip/ghc-9.6-backports at Glasgow Haskell Compiler / GHC


Commits:
3bb59347 by Finley McIlwaine at 2023-09-19T22:26:43+05:30
Refactor estimation of stack info table provenance

This commit greatly refactors the way we compute estimated provenance for stack
info tables. Previously, this process was done using an entirely separate traversal
of the whole Cmm code stream to build the map from info tables to source locations.
The separate traversal is now fused with the Cmm code generation pipeline in
GHC.Driver.Main.

This results in very significant code generation speed ups when -finfo-table-map is
enabled. In testing, this patch reduces code generation times by almost 30% with
-finfo-table-map and -O0, and 60% with -finfo-table-map and -O1 or -O2 .

Fixes #23103

(cherry picked from commit d99c816f7b5727a3f344960e02a1932187ea093f)

- - - - -
448c885d by Finley McIlwaine at 2023-09-19T22:26:43+05:30
Add a test checking overhead of -finfo-table-map

We want to make sure we don't end up with poor codegen performance resulting from
-finfo-table-map again as in #23103. This test adds a performance test tracking
total allocations while compiling ExactPrint with -finfo-table-map.

(cherry picked from commit d3e0124c1157a4a423d86a1dc1d7e82c6d32ef06)

- - - - -
ec164fcb by Ben Gamari at 2023-09-19T22:26:43+05:30
base: Advertise linear time of readFloat

As noted in #23538, `readFloat` has runtime that scales nonlinearly in
the size of its input. Consequently, its use on untrusted input can
be exploited as a denial-of-service vector. Point this out and suggest
use of `read` instead.

See #23538.

(cherry picked from commit b33113c86ce5888ff5edfd6d3dd95772d3c8abce)

- - - - -
b6bd8c09 by Sylvain Henry at 2023-09-19T22:26:43+05:30
Add missing int64/word64-to-double/float rules (#23907)

CLC proposal: https://github.com/haskell/core-libraries-committee/issues/203

(cherry picked from commit 5126a2fef0385e206643b6af0543d10ff0c219d8)

- - - - -
9bc1ab68 by Matthew Pickering at 2023-09-19T22:26:43+05:30
Build vanilla alpine bindists

We currently attempt to build and distribute fully static alpine
bindists (ones which could be used on any linux platform) but most
people who use the alpine bindists want to use alpine to build their own
static applications (for which a fully static bindist is not necessary).
We should build and distribute these bindists for these users whilst the
fully-static bindist is still unusable.

Fixes #23349

(cherry picked from commit 29be39ba3f187279b19cf451f2d8f58822edab4f)

- - - - -
1bd57554 by Matthew Craven at 2023-09-19T22:26:43+05:30
Bump bytestring submodule to 0.11.5.1

(cherry picked from commit 43578d60bfc478e7277dcd892463cec305400025)

- - - - -
374f6f0d by Zubin Duggal at 2023-09-19T22:26:43+05:30
Bump bytestring submodule to 0.11.5.2 (#23789)

(cherry picked from commit a98ae4ec6f4325c32c86cc0726947b6ecf4d047a)

- - - - -
8ca3c034 by Zubin Duggal at 2023-09-19T22:26:43+05:30
Bump filepath submodule to 1.4.100.4
Bump bytestring submodule to 0.11.5.2

- - - - -
f29969ca by Zubin Duggal at 2023-09-19T22:26:43+05:30
Update haddock submodule

- - - - -
2000339c by Zubin Duggal at 2023-09-19T22:29:31+05:30
ci: Update bootstrap matrix for ghc 9.2.8, 9.4.7 and 9.6.2

Also add bootstrap plans for 9.2.{6..8}, 9.4.{4..6}, 9.6.{1,2}

- - - - -
21e34882 by Zubin Duggal at 2023-09-19T22:29:31+05:30
user-guide: Add note that #23520 and -Wincomplete-record-updates is broken

- - - - -
835be43c by Zubin Duggal at 2023-09-19T22:29:31+05:30
users-guide: Remove package list from older release notes (#18904)

- - - - -
1427df5f by Zubin Duggal at 2023-09-19T22:29:31+05:30
Prepare release 9.6.3

- - - - -


20 changed files:

- .gitlab-ci.yml
- .gitlab/gen_ci.hs
- .gitlab/jobs.yaml
- .gitlab/rel_eng/fetch-gitlab-artifacts/fetch_gitlab.py
- compiler/GHC/Driver/GenerateCgIPEStub.hs
- compiler/GHC/Driver/Main.hs
- compiler/GHC/Utils/Binary.hs
- configure.ac
- docs/users_guide/9.6.1-notes.rst
- docs/users_guide/9.6.2-notes.rst
- + docs/users_guide/9.6.3-notes.rst
- docs/users_guide/bugs.rst
- docs/users_guide/release-notes.rst
- docs/users_guide/using-warnings.rst
- + hadrian/bootstrap/plan-9_2_6.json
- + hadrian/bootstrap/plan-9_2_7.json
- + hadrian/bootstrap/plan-9_2_8.json
- + hadrian/bootstrap/plan-9_4_4.json
- + hadrian/bootstrap/plan-9_4_5.json
- + hadrian/bootstrap/plan-9_4_6.json


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/bd7d41ee033cc8449ca26e3b9576f205045bb68e...1427df5fa83d309c31cab57b39a996ac103e72ac

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/bd7d41ee033cc8449ca26e3b9576f205045bb68e...1427df5fa83d309c31cab57b39a996ac103e72ac
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/20230919/fddcbd19/attachment.html>


More information about the ghc-commits mailing list