[Git][ghc/ghc][ghc-9.4] 15 commits: compiler: Ensure that MutVar operations have necessary barriers

Matthew Pickering (@mpickering) gitlab at gitlab.haskell.org
Thu Dec 15 11:36:08 UTC 2022



Matthew Pickering pushed to branch ghc-9.4 at Glasgow Haskell Compiler / GHC


Commits:
59a296f6 by Ben Gamari at 2022-12-15T09:38:30+00:00
compiler: Ensure that MutVar operations have necessary barriers

Here we add acquire and release barriers in readMutVar# and
writeMutVar#, which are necessary for soundness.

Fixes #22468.

(cherry picked from commit a9834736a90aefdd32cfc15be507e22b57eedc07)

- - - - -
b66638f4 by Ben Gamari at 2022-12-15T09:40:57+00:00
Bump Win32 submodule to v2.12.0.1

Addresses #20017 for 9.4.4.

(cherry picked from commit 0f63c830abf0778c5b6c073d36dc6377844aa087)

- - - - -
5c75888e by Sebastian Graf at 2022-12-15T09:48:34+00:00
Do not strictify a DFun's parameter dictionaries (#22549)

... thus fixing #22549.

The details are in the refurbished and no longer dead
`Note [Do not strictify a DFun's parameter dictionaries]`.

There's a regression test in T22549.

(cherry picked from commit 26e71562072f6740d52fcd38298340c287a641b8)

- - - - -
aa422c71 by Ben Gamari at 2022-12-15T09:50:32+00:00
cmm: Introduce blockConcat

(cherry picked from commit da7b51d8598400ed8073afe1b311c73a04e2230d)

- - - - -
54ad2942 by Ben Gamari at 2022-12-15T09:50:45+00:00
cmm: Introduce MemoryOrderings

(cherry picked from commit 34f6b09c8e985017c4b18896aeac0c20baf4433d)

- - - - -
22e5cfe6 by Ben Gamari at 2022-12-15T09:50:46+00:00
llvm: Respect memory specified orderings

(cherry picked from commit 43beaa7baf02d75946c37974fbe46d2857920a53)

- - - - -
6afffee5 by Ben Gamari at 2022-12-15T09:50:46+00:00
Codegen/x86: Eliminate barrier for relaxed accesses

(cherry picked from commit 8faf74fcbd9d9da81ce8a901d694711c5d7ad406)

- - - - -
61798773 by Ben Gamari at 2022-12-15T09:50:46+00:00
cmm/Parser: Reduce some repetition

(cherry picked from commit 6cc3944a06cc5be302bb023a43c0537838b50861)

- - - - -
3208e037 by Ben Gamari at 2022-12-15T09:50:46+00:00
cmm/Parser: Add syntax for ordered loads and stores

(cherry picked from commit 6c9862c4fee395345dbbcd8ad58ae3f08753219e)

- - - - -
32497a14 by Ben Gamari at 2022-12-15T09:50:46+00:00
cmm/Parser: Atomic load syntax

Originally I had thought I would just use the `prim` call syntax instead
of introducing new syntax for atomic loads. However, it turns out that
`prim` call syntax tends to make things quite unreadable. This new
syntax seems quite natural.

(cherry picked from commit 748490d2ff51d6c6fa44aad587908b271c801fa9)

- - - - -
bb4d238b by Ben Gamari at 2022-12-15T09:52:43+00:00
rts: Ensure that global regs are never passed as fun call args

This is in general unsafe as they may be clobbered if they are mapped to
caller-saved machine registers. See Note [Register parameter passing].

(cherry picked from commit 9372329008143104b0ae5e8e792e957090dfa743)

- - - - -
f9ce32c8 by Sebastian Graf at 2022-12-15T10:07:46+00:00
DmdAnal: Reflect the `seq` of strict fields of a DataCon worker (#22475)

See the updated `Note [Data-con worker strictness]`
and the new `Note [Demand transformer for data constructors]`.

Fixes #22475.

(cherry picked from commit b4cfa8e235715d8c73b2ba0ba05ed8ef92629218)

- - - - -
c701cb6e by Sebastian Graf at 2022-12-15T11:04:35+00:00
DmdAnal: Don't panic in addCaseBndrDmd (#22039)

Rather conservatively return Top.
See Note [Untyped demand on case-alternative binders].

I also factored `addCaseBndrDmd` into two separate functions `scrutSubDmd` and
`fieldBndrDmds`.

Fixes #22039.

(cherry picked from commit d2be80fd9b222963e8dd09a30f78c106e00da7f9)

- - - - -
723fe2e6 by Matthew Pickering at 2022-12-15T11:18:08+00:00
Bump version to 9.4.4

- - - - -
f6aee846 by Matthew Pickering at 2022-12-15T11:35:01+00:00
Add 9.4.4 release notes

- - - - -


30 changed files:

- compiler/GHC/Cmm/ContFlowOpt.hs
- compiler/GHC/Cmm/Dataflow/Block.hs
- compiler/GHC/Cmm/Lexer.x
- compiler/GHC/Cmm/MachOp.hs
- compiler/GHC/Cmm/Parser.y
- compiler/GHC/CmmToAsm/AArch64/CodeGen.hs
- compiler/GHC/CmmToAsm/PPC/CodeGen.hs
- compiler/GHC/CmmToAsm/X86/CodeGen.hs
- compiler/GHC/CmmToC.hs
- compiler/GHC/CmmToLlvm/CodeGen.hs
- compiler/GHC/Core/DataCon.hs
- compiler/GHC/Core/Opt/DmdAnal.hs
- compiler/GHC/CoreToStg/Prep.hs
- compiler/GHC/Stg/Lift/Analysis.hs
- compiler/GHC/StgToCmm/ExtCode.hs
- compiler/GHC/StgToCmm/Prim.hs
- compiler/GHC/Types/Demand.hs
- compiler/GHC/Types/Id/Make.hs
- configure.ac
- + docs/users_guide/9.4.4-notes.rst
- docs/users_guide/release-notes.rst
- libraries/Win32
- rts/HeapStackCheck.cmm
- + testsuite/tests/stranal/should_compile/T22039.hs
- testsuite/tests/stranal/should_compile/all.T
- + testsuite/tests/stranal/should_run/T22475.hs
- + testsuite/tests/stranal/should_run/T22475b.hs
- + testsuite/tests/stranal/should_run/T22475b.stdout
- + testsuite/tests/stranal/should_run/T22549.hs
- + testsuite/tests/stranal/should_run/T22549.stdout


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/5e9ac6946d7082502fe05546d32429e2f3aca9b6...f6aee84621a2d91649258a29078921c80828fafe

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/5e9ac6946d7082502fe05546d32429e2f3aca9b6...f6aee84621a2d91649258a29078921c80828fafe
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/20221215/f05c061c/attachment.html>


More information about the ghc-commits mailing list