[Git][ghc/ghc][ghc-9.10] 20 commits: EPA: Remove unnecessary XRec in CompleteMatchSig

Ben Gamari (@bgamari) gitlab at gitlab.haskell.org
Sat Apr 13 00:36:38 UTC 2024



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


Commits:
8212c3c6 by Alan Zimmerman at 2024-04-11T09:32:07-04:00
EPA: Remove unnecessary XRec in CompleteMatchSig

The XRec for [LIdP pass] is not needed for exact printing, remove it.

(cherry picked from commit 1b1a92bd25c3f7249cf922c5dbf4415d2de44a36)

- - - - -
6b480460 by Sebastian Graf at 2024-04-11T09:32:18-04:00
Simplifier: Re-do dependency analysis in abstractFloats (#24551)

In #24551, we abstracted a string literal binding over a type variable,
triggering a CoreLint error when that binding floated to top-level.

The solution implemented in this patch fixes this by re-doing dependency
analysis on a simplified recursive let binding that is about to be type
abstracted, in order to find the minimal set of type variables to abstract over.
See wrinkle (AB5) of Note [Floating and type abstraction] for more details.

Fixes #24551

(cherry picked from commit 3e0b2b1f14e5e82eaa1dc6fbf8dceb5f539f5aa3)

- - - - -
ca9bb80e by Rodrigo Mesquita at 2024-04-11T09:32:41-04:00
th: Hide the Language.Haskell.TH.Lib.Internal module from haddock

Fixes #24562

(cherry picked from commit 817e89362e74b5177c02deee31f16cec862052cc)

- - - - -
a13e9b69 by Matthew Pickering at 2024-04-11T09:32:49-04:00
Fix off by one error in seekBinNoExpand and seekBin

(cherry picked from commit 28009fbc26e4aca7a3b05cedb60c5c9baa31223d)

- - - - -
770dcce2 by Andrei Borzenkov at 2024-04-11T09:33:40-04:00
Change how invisible patterns represented in  haskell syntax and TH AST (#24557)

Before this patch:
  data ArgPat p
    = InvisPat (LHsType p)
    | VisPat (LPat p)

With this patch:
  data Pat p
    = ...
    | InvisPat (LHsType p)
    ...

And the same transformation in the TH land. The rest of the
changes is just updating code to handle new AST and writing tests
to check if it is possible to create invalid states using TH.

Metric Increase:
    MultiLayerModulesTH_OneShot

(cherry picked from commit 36a75b80ebe592f582f3f349e8c73b8293d49ed1)

- - - - -
03bfe160 by Alan Zimmerman at 2024-04-11T09:33:53-04:00
EPA: Capture all comments in a ClassDecl

Hopefully the final fix needed for #24533

(cherry picked from commit be3bdddebdf119007d753bebe32709a1ce726cc0)

- - - - -
eca47e5b by Alan Zimmerman at 2024-04-11T09:34:02-04:00
EPA: Use EpaLocation in WarningTxt

This allows us to use an EpDelta if needed when using makeDeltaAst.

(cherry picked from commit 3b7b0c1c1337fe4cf470987d891f1f3944840688)

- - - - -
6ce42495 by Sylvain Henry at 2024-04-11T14:06:46-04:00
JS: reenable h$appendToHsString optimization (#24495)

The optimization introducing h$appendToHsString wasn't kicking in
anymore (while it did in 9.8.1) because of the changes introduced in #23270 (7e0c8b3bab30).
This patch reenables the optimization by matching on case-expression, as
done in Cmm for unpackCString# standard thunks.

The test is also T24495 added in the next commits (two commits for ease
of backporting to 9.8).

(cherry picked from commit b36ee57bfbecc628b7f0919e1e59b7066495034f)

- - - - -
cc690f6e by Sylvain Henry at 2024-04-11T14:06:46-04:00
JS: fix h$appendToHsString implementation (#24495)

h$appendToHsString needs to wrap its argument in an updatable thunk
to behave like unpackAppendCString#. Otherwise if a SingleEntry thunk is
passed, it is stored as-is in a CONS cell, making the resulting list
impossible to deepseq (forcing the thunk doesn't update the contents of
the CONS cell)!

The added test checks that the optimization kicks in and that
h$appendToHsString works as intended.

Fix #24495

(cherry picked from commit 527616e950fd8942c182be903d176f4b9890ee5a)

- - - - -
656395ec by Luite Stegeman at 2024-04-11T14:06:46-04:00
Update correct counter in bumpTickyAllocd

(cherry picked from commit 0c4a96862081f03e2946a2ed7e80c108f06205a1)

- - - - -
fb7dfdf0 by Ben Gamari at 2024-04-11T14:06:46-04:00
testsuite: Fix T24598 with unregisterised compiler

(cherry picked from commit 9b9e031b67dbc812c156a4773c0c9d293451fefa)

- - - - -
0dd8f0bc by Alan Zimmerman at 2024-04-11T14:06:46-04:00
EPA: Use EpaLocation not SrcSpan in ForeignDecls

This allows us to update them for makeDeltaAst in ghc-exactprint

(cherry picked from commit 1324b8626aeb4dc2d6a04f7605d307ef13d1e0e9)

- - - - -
9745a63e by Simon Peyton Jones at 2024-04-11T14:06:46-04:00
Deal with duplicate tyvars in type declarations

GHC was outright crashing before this fix: #24604

(cherry picked from commit faa30b41a6f941627ddeeba805815b2742d312d1)

- - - - -
ed927271 by Alan Zimmerman at 2024-04-11T14:06:46-04:00
EPA: Use EpaLocation for RecFieldsDotDot

So we can update it to a delta position in makeDeltaAst if needed.

(cherry picked from commit 19883a23b8bc704118fa663d8bab00a503b5a527)

- - - - -
220cda2c by Alan Zimmerman at 2024-04-11T14:06:46-04:00
EPA: Move DeltaPos and EpaLocation' into GHC.Types.SrcLoc

This allows us to use a NoCommentsLocation for the possibly trailing
comma location in a StringLiteral.
This in turn allows us to correctly roundtrip via makeDeltaAst.

(cherry picked from commit 12b997df559365e6188824fb10f5f61c2e9075e4)

- - - - -
2d1c6074 by Ben Gamari at 2024-04-12T10:27:25-04:00
Bump parsec submodule to upstream master

- - - - -
6efe55ef by Ben Gamari at 2024-04-12T10:27:27-04:00
testsuite: More aggressive normalisation of process004 output

It turns out that this test uses `execvp`, not `exec` on CentOS 7.
Normalise this spurious difference away.

- - - - -
702ff84e by Ben Gamari at 2024-04-12T11:35:06-04:00
Bump array, binary, stm submodules

- - - - -
3a18d9e7 by Ben Gamari at 2024-04-12T15:49:07-04:00
hadrian: Refactor treatment of extra dependencies

The previous implementation was both hard to follow and repeated itself,
making changes quite error-prone. Refactor this to be a bit more easier
to reason about.

- - - - -
2ed72644 by Ben Gamari at 2024-04-12T17:51:15-04:00
Bump time submodule to 1.14

As requested in #24528.

- - - - -


30 changed files:

- compiler/GHC/Builtin/Names/TH.hs
- compiler/GHC/Core/Opt/Simplify/Utils.hs
- compiler/GHC/Hs/Binds.hs
- compiler/GHC/Hs/Decls.hs
- compiler/GHC/Hs/Expr.hs
- compiler/GHC/Hs/Instances.hs
- compiler/GHC/Hs/Pat.hs
- compiler/GHC/Hs/Syn/Type.hs
- compiler/GHC/Hs/Utils.hs
- compiler/GHC/HsToCore/Arrows.hs
- compiler/GHC/HsToCore/Expr.hs
- compiler/GHC/HsToCore/Match.hs
- compiler/GHC/HsToCore/Pmc/Desugar.hs
- compiler/GHC/HsToCore/Quote.hs
- compiler/GHC/HsToCore/Ticks.hs
- compiler/GHC/HsToCore/Utils.hs
- compiler/GHC/Iface/Ext/Ast.hs
- compiler/GHC/Iface/Ext/Utils.hs
- compiler/GHC/Iface/Syntax.hs
- compiler/GHC/Parser.y
- compiler/GHC/Parser/Annotation.hs
- compiler/GHC/Parser/PostProcess.hs
- compiler/GHC/Rename/Bind.hs
- compiler/GHC/Rename/Expr.hs
- compiler/GHC/Rename/HsType.hs
- compiler/GHC/Rename/Module.hs
- compiler/GHC/Rename/Pat.hs
- compiler/GHC/Rename/Utils.hs
- compiler/GHC/StgToCmm/Ticky.hs
- compiler/GHC/StgToJS/Apply.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/aa5b34e1643df9c44eaebea38cb58dafaf60cb4b...2ed7264434a2edee97ab441c9ccbdf675e0d7896

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/aa5b34e1643df9c44eaebea38cb58dafaf60cb4b...2ed7264434a2edee97ab441c9ccbdf675e0d7896
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/20240412/1d62375f/attachment-0001.html>


More information about the ghc-commits mailing list