[Git][ghc/ghc][wip/T22194-flags] 35 commits: Fix BCO creation setting caps when -j > -N

Simon Peyton Jones (@simonpj) gitlab at gitlab.haskell.org
Tue Mar 21 23:06:45 UTC 2023



Simon Peyton Jones pushed to branch wip/T22194-flags at Glasgow Haskell Compiler / GHC


Commits:
c9c26cd6 by Teo Camarasu at 2023-03-16T12:17:50-04:00
Fix BCO creation setting caps when -j > -N

* Remove calls to 'setNumCapabilities' in 'createBCOs'
These calls exist to ensure that 'createBCOs' can benefit from
parallelism. But this is not the right place to call
`setNumCapabilities`. Furthermore the logic differs from that in the
driver causing the capability count to be raised and lowered at each TH
call if -j > -N.

* Remove 'BCOOpts'
No longer needed as it was only used to thread the job count down to `createBCOs`

Resolves #23049

- - - - -
5ddbf5ed by Teo Camarasu at 2023-03-16T12:17:50-04:00
Add changelog entry for #23049

- - - - -
6e3ce9a4 by Ben Gamari at 2023-03-16T12:18:26-04:00
configure: Fix FIND_CXX_STD_LIB test on Darwin

Annoyingly, Darwin's <cstddef> includes <version> and APFS is
case-insensitive. Consequently, it will end up #including the
`VERSION` file generated by the `configure` script on the second
and subsequent runs of the `configure` script.

See #23116.
- - - - -
19d6d039 by sheaf at 2023-03-16T21:31:22+01:00
ghci: only keep the GlobalRdrEnv in ModInfo

The datatype GHC.UI.Info.ModInfo used to store a ModuleInfo,
which includes a TypeEnv. This can easily cause space leaks as we
have no way of forcing everything in a type environment.

In GHC, we only use the GlobalRdrEnv, which we can force completely.
So we only store that instead of a fully-fledged ModuleInfo.

- - - - -
73d07c6e by Torsten Schmits at 2023-03-17T14:36:49-04:00
Add structured error messages for GHC.Tc.Utils.Backpack

Tracking ticket: #20119

MR: !10127

This converts uses of `mkTcRnUnknownMessage` to newly added constructors
of `TcRnMessage`.
One occurrence, when handing a nested error from the interface loading
machinery, was omitted. It will be handled by a subsequent changeset
that addresses interface errors.

- - - - -
a13affce by Andrei Borzenkov at 2023-03-21T11:17:17-04:00
Rename () into Unit, (,,...,,) into Tuple<n> (#21294)

This patch implements a part of GHC Proposal #475.
The key change is in GHC.Tuple.Prim:

  - data () = ()
  - data (a,b) = (a,b)
  - data (a,b,c) = (a,b,c)
  ...
  + data Unit = ()
  + data Tuple2 a b = (a,b)
  + data Tuple3 a b c = (a,b,c)
  ...

And the rest of the patch makes sure that Unit and Tuple<n>
are pretty-printed as () and (,,...,,) in various contexts.

Updates the haddock submodule.

Co-authored-by: Vladislav Zavialov <vlad.z.4096 at gmail.com>

- - - - -
23642bf6 by Adam Sandberg Ericsson at 2023-03-21T11:17:53-04:00
docs: fix some wrongs in the eventlog format documentation

- - - - -
90159773 by Adam Sandberg Ericsson at 2023-03-21T11:17:53-04:00
docs: explain the BLOCK_MARKER event

- - - - -
ab1c25e8 by Adam Sandberg Ericsson at 2023-03-21T11:17:53-04:00
docs: add BlockedOnMVarRead thread status in eventlog encodings

- - - - -
898afaef by Adam Sandberg Ericsson at 2023-03-21T11:17:53-04:00
docs: add TASK_DELETE event in eventlog encodings

- - - - -
bb05b4cc by Adam Sandberg Ericsson at 2023-03-21T11:17:53-04:00
docs: add WALL_CLOCK_TIME event in eventlog encodings

- - - - -
eeea0343 by Torsten Schmits at 2023-03-21T11:18:34-04:00
Add structured error messages for GHC.Tc.Utils.Env

Tracking ticket: #20119

MR: !10129

This converts uses of `mkTcRnUnknownMessage` to newly added constructors
of `TcRnMessage`.

- - - - -
be1d4be8 by Bodigrim at 2023-03-21T11:19:13-04:00
Document pdep / pext primops

- - - - -
e8b4aac4 by Alex Mason at 2023-03-21T18:11:04-04:00
Allow LLVM backend to use HDoc for faster file generation.

Also remove the MetaStmt constructor from LlvmStatement and places the annotations into the Store statement.

Includes “Implement a workaround for -no-asm-shortcutting bug“ (https://gitlab.haskell.org/ghc/ghc/-/commit/2fda9e0df886cc551e2cd6b9c2a384192bdc3045)

- - - - -
ea24360d by Luite Stegeman at 2023-03-21T18:11:44-04:00
Compute LambdaFormInfo when using JavaScript backend.

CmmCgInfos is needed to write interface files, but the
JavaScript backend does not generate it, causing
"Name without LFInfo" warnings.

This patch adds a conservative but always correct
CmmCgInfos when the JavaScript backend is used.

Fixes #23053

- - - - -
37faaad4 by Simon Peyton Jones at 2023-03-21T22:17:11+00:00
Refactor the constraint solver pipeline

The big change is to put the entire type-equality solver into
GHC.Tc.Solver.Equality, rather than scattering it over Canonical
and Interact.  Other changes

* EqCt becomes its own data type, a bit like QCInst.  This is
  great because EqualCtList is then just [EqCt]

* New module GHC.Tc.Solver.Dict has come of the class-contraint
  solver.  In due course it will be all.  One step at a time.

This MR is intended to have zero change in behaviour: it is a
pure refactor.  It opens the way to subsequent tidying up, we
believe.

- - - - -
0c34787b by Simon Peyton Jones at 2023-03-21T22:20:44+00:00
DRAFT: Refactor the way we establish a canonical constraint

Relevant to #22194

Incomplete; but I'd like to see the CI results

- - - - -
5156c482 by Simon Peyton Jones at 2023-03-21T22:20:44+00:00
Wibbles

- - - - -
7f3dd89e by Simon Peyton Jones at 2023-03-21T22:20:44+00:00
Wibbles

- - - - -
2583cff1 by Simon Peyton Jones at 2023-03-21T22:20:44+00:00
Wibbles

- - - - -
9cebb48a by Simon Peyton Jones at 2023-03-21T22:20:44+00:00
Use a flag-based approach for checkTyEqRhs

...looks much nicer

- - - - -
e3bcdc3f by Simon Peyton Jones at 2023-03-21T22:20:44+00:00
Wibble

- - - - -
90f4e1be by Simon Peyton Jones at 2023-03-21T22:20:44+00:00
Bug fixes

- - - - -
42b57ab8 by Simon Peyton Jones at 2023-03-21T22:20:44+00:00
More bug fixes

- - - - -
bcaf3287 by Simon Peyton Jones at 2023-03-21T22:20:44+00:00
Minor fixes

- - - - -
bc271f1e by Simon Peyton Jones at 2023-03-21T22:20:44+00:00
Fix isConcreteTyCon

Adds a synIsConcrete to SynonymTyCon

- - - - -
869fe1dd by Simon Peyton Jones at 2023-03-21T22:20:44+00:00
More wibbles

- - - - -
c9e32090 by Simon Peyton Jones at 2023-03-21T22:20:44+00:00
Add a fast path simpleUnifyCheck

- - - - -
109a2115 by Simon Peyton Jones at 2023-03-21T22:20:44+00:00
Wibble

- - - - -
a4160388 by Simon Peyton Jones at 2023-03-21T22:20:44+00:00
Respond to Richard's review

- - - - -
28b6a57d by Simon Peyton Jones at 2023-03-21T22:20:44+00:00
More wibbles, prompted by talking with Richard

- - - - -
d47b0f8b by Simon Peyton Jones at 2023-03-21T22:20:44+00:00
More wibbles

- - - - -
1568b9ed by Simon Peyton Jones at 2023-03-21T22:20:44+00:00
Wibbles

- - - - -
96ecd73a by Simon Peyton Jones at 2023-03-21T22:20:44+00:00
Wibble

- - - - -
bd132a9b by Simon Peyton Jones at 2023-03-21T23:08:11+00:00
Wibbles

- - - - -


30 changed files:

- compiler/GHC.hs
- compiler/GHC/Builtin/Names.hs
- compiler/GHC/Builtin/Types.hs
- compiler/GHC/Builtin/Uniques.hs
- compiler/GHC/Builtin/primops.txt.pp
- compiler/GHC/CmmToLlvm.hs
- compiler/GHC/CmmToLlvm/Base.hs
- compiler/GHC/CmmToLlvm/CodeGen.hs
- compiler/GHC/CmmToLlvm/Ppr.hs
- compiler/GHC/Core/InstEnv.hs
- compiler/GHC/Core/Opt/Simplify/Iteration.hs
- compiler/GHC/Core/TyCo/FVs.hs
- compiler/GHC/Core/TyCon.hs
- compiler/GHC/Core/Type.hs
- compiler/GHC/Data/Bag.hs
- compiler/GHC/Data/Maybe.hs
- compiler/GHC/Driver/Config.hs
- compiler/GHC/Driver/Main.hs
- compiler/GHC/Linker/Loader.hs
- compiler/GHC/Llvm/MetaData.hs
- compiler/GHC/Llvm/Ppr.hs
- compiler/GHC/Llvm/Syntax.hs
- compiler/GHC/Llvm/Types.hs
- compiler/GHC/Rename/Splice.hs
- compiler/GHC/Rename/Utils.hs
- compiler/GHC/Runtime/Interpreter.hs
- compiler/GHC/Tc/Errors.hs
- compiler/GHC/Tc/Errors/Ppr.hs
- compiler/GHC/Tc/Errors/Types.hs
- compiler/GHC/Tc/Gen/HsType.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/bbba89ea59ce41364b4b3a4fba7969ca2c711d28...bd132a9b37ce1b7c35bffe7a161415db3cde4ccb

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/bbba89ea59ce41364b4b3a4fba7969ca2c711d28...bd132a9b37ce1b7c35bffe7a161415db3cde4ccb
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/20230321/4d3d2897/attachment-0001.html>


More information about the ghc-commits mailing list