[Git][ghc/ghc][ghc-9.6] 14 commits: Bump transformers to 0.6.1.0

Ben Gamari (@bgamari) gitlab at gitlab.haskell.org
Sun Feb 12 23:07:28 UTC 2023



Ben Gamari pushed to branch ghc-9.6 at Glasgow Haskell Compiler / GHC


Commits:
ef79d013 by sheaf at 2023-02-09T12:47:50+00:00
Bump transformers to 0.6.1.0

This allows us to avoid orphans for Foldable1 instances,
fixing #22898.

Updates transformers submodule.

(cherry picked from commit 2ea1a6bc7d7c2946b4a3d1c2c19083e09401f9f1)

- - - - -
b0dee831 by Cheng Shao at 2023-02-09T12:48:05+00:00
testsuite: remove config.use_threads

This patch simplifies the testsuite driver by removing the use_threads
config field. It's just a degenerate case of threads=1.

(cherry picked from commit 633f2799e697ddaf63c4c91820c0b5a7c9b17db7)

- - - - -
5df968c3 by Cheng Shao at 2023-02-09T12:48:10+00:00
testsuite: use concurrent.futures.ThreadPoolExecutor in the driver

The testsuite driver used to create one thread per test case, and
explicitly use semaphore and locks for rate limiting and
synchronization. This is a bad practice in any language, and
occasionally may result in livelock conditions (e.g. #22889). This
patch uses concurrent.futures.ThreadPoolExecutor for scheduling test
case runs, which is simpler and more robust.

(cherry picked from commit ca6673e3cab496bbeed2ced47b40bcf1e0d0b3cd)

- - - - -
03bc710d by Matthew Pickering at 2023-02-09T12:48:15+00:00
Revert "Don't keep exit join points so much"

This reverts commit caced75765472a1a94453f2e5a439dba0d04a265.

It seems the patch "Don't keep exit join points so much" is causing
wide-spread regressions in the bytestring library benchmarks. If I
revert it then the 9.6 numbers are better on average than 9.4.

See https://gitlab.haskell.org/ghc/ghc/-/issues/22893#note_479525

-------------------------
Metric Decrease:
    MultiComponentModules
    MultiComponentModulesRecomp
    MultiLayerModules
    MultiLayerModulesRecomp
    MultiLayerModulesTH_Make
    T12150
    T13386
    T13719
    T21839c
    T3294
    parsing001
-------------------------

(cherry picked from commit 7eac2468a726f217dd97c5e2884f6b552e8ef11d)

- - - - -
71decd09 by sheaf at 2023-02-09T12:49:01+00:00
Fix tyvar scoping within class SPECIALISE pragmas

Type variables from class/instance headers scope over class/instance
method type signatures, but DO NOT scope over the type signatures in
SPECIALISE and SPECIALISE instance pragmas.

The logic in GHC.Rename.Bind.rnMethodBinds correctly accounted for
SPECIALISE inline pragmas, but forgot to apply the same treatment
to method SPECIALISE pragmas, which lead to a Core Lint failure with
an out-of-scope type variable. This patch makes sure we apply the same
logic for both cases.

Fixes #22913

(cherry picked from commit 9ee761bf02cdd11c955454a222c85971d95dce11)

- - - - -
5dfa01e7 by Cheng Shao at 2023-02-09T12:49:30+00:00
docs: 9.6 release notes for wasm backend

(cherry picked from commit 1ffe770c8d8c5c42edcf1558242f39431f72b965)

- - - - -
fcdf9f9b by Simon Peyton Jones at 2023-02-09T11:48:52-05:00
Improve treatment of type applications in patterns

This patch fixes a subtle bug in the typechecking of type
applications in patterns, e.g.
   f (MkT @Int @a x y) = ...

See Note [Type applications in patterns] in GHC.Tc.Gen.Pat.

This fixes #19847, #22383, #19577, #21501

(cherry picked from commit 9f95db54e38b21782d058043abe42fd77abfb9ad)

- - - - -
bea77fc4 by Andreas Klebinger at 2023-02-09T12:05:36-05:00
Fix some correctness issues around tag inference when targeting the bytecode generator.

* Let binders are now always assumed untagged for bytecode.
* Imported referenced are now always assumed to be untagged for bytecode.

Fixes #22840

(cherry picked from commit 382bd7dad9cd53254204f418190368667a127f64)

- - - - -
31a90769 by Matthew Pickering at 2023-02-09T12:05:56-05:00
driver: Use hooks from plugin_hsc_env

This fixes a bug in oneshot mode where hooks modified in a plugin
wouldn't be used in oneshot mode because we neglected to use the right
hsc_env. This was observed by @csabahruska.

(cherry picked from commit cc72e71298ce7e8ef7a2263a531f96d777db1800)

- - - - -
11686fb4 by Aaron Allen at 2023-02-09T12:06:01-05:00
Rework plugin initialisation points

In general this patch pushes plugin initialisation points to earlier in
the pipeline. As plugins can modify the `HscEnv`, it's imperative that
the plugins are initialised as soon as possible and used thereafter.

For example, there are some new tests which modify hsc_logger and other
hooks which failed to fire before (and now do)

One consequence of this change is that the error for specifying the
usage of a HPT plugin from the command line has changed, because it's
now attempted to be loaded at initialisation rather than causing a
cyclic module import.

Closes #21279

Co-authored-by: Matthew Pickering <matthewtpickering at gmail.com>
(cherry picked from commit c31e87bbb13c0139b75acd234fd48eeb40cf50af)

- - - - -
94844882 by Ben Gamari at 2023-02-09T12:06:40-05:00
nativeGen/AArch64: Emit Atomic{Read,Write} inline

Previously the AtomicRead and AtomicWrite operations were emitted as
out-of-line calls. However, these tend to be very important for
performance, especially the RELAXED case (which only exists for
ThreadSanitizer checking).

Fixes #22115.

(cherry picked from commit 6e52fcb915baa1acb38ad2b1f313e8e6a89899f5)

- - - - -
f63da175 by Ben Gamari at 2023-02-10T01:25:53-05:00
testsuite: Drop inapplicable tests

These rely on TypeAbstractions, which is not implemented in 9.6.1.

- - - - -
f0da1dda by Ben Gamari at 2023-02-10T11:20:56-05:00
testsuite: Mark T15633 as fixed when static linking

Fixes #20706

- - - - -
bcc6c918 by Ben Gamari at 2023-02-10T11:23:08-05:00
relnotes: Mention release notes

- - - - -


30 changed files:

- compiler/GHC/CmmToAsm/AArch64/CodeGen.hs
- compiler/GHC/CmmToAsm/AArch64/Instr.hs
- compiler/GHC/CmmToAsm/AArch64/Ppr.hs
- compiler/GHC/Core/DataCon.hs
- compiler/GHC/Core/Opt/Exitify.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/Driver/Config/Core/Opt/Simplify.hs
- compiler/GHC/Driver/Config/Stg/Pipeline.hs
- compiler/GHC/Driver/Make.hs
- compiler/GHC/Driver/Pipeline.hs
- compiler/GHC/Driver/Pipeline/Execute.hs
- compiler/GHC/Rename/Bind.hs
- compiler/GHC/Runtime/Loader.hs
- compiler/GHC/Stg/InferTags.hs
- compiler/GHC/Stg/InferTags/Types.hs
- compiler/GHC/Stg/Pipeline.hs
- compiler/GHC/Tc/Gen/Pat.hs
- docs/users_guide/9.6.1-notes.rst
- ghc/Main.hs
- libraries/transformers
- testsuite/driver/runtests.py
- testsuite/driver/testglobals.py
- testsuite/driver/testlib.py
- testsuite/driver/testutil.py
- + testsuite/tests/gadt/T19847.hs
- testsuite/tests/gadt/all.T
- testsuite/tests/plugins/all.T


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/bafa389975872e1dec6925e05ee0efc349656110...bcc6c918baf9164922813e4f05bd41854e274002

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/bafa389975872e1dec6925e05ee0efc349656110...bcc6c918baf9164922813e4f05bd41854e274002
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/20230212/1ac77e3f/attachment-0001.html>


More information about the ghc-commits mailing list