[Git][ghc/ghc][wip/T25439] 27 commits: Refactored BooleanFormula to be in line with TTG (#21592)
Sebastian Graf (@sgraf812)
gitlab at gitlab.haskell.org
Wed Nov 13 07:34:55 UTC 2024
Sebastian Graf pushed to branch wip/T25439 at Glasgow Haskell Compiler / GHC
Commits:
97f600c6 by Hassan Al-Awwadi at 2024-11-04T15:52:12+00:00
Refactored BooleanFormula to be in line with TTG (#21592)
There are two parts to this commit.
* We moved the definition of BooleanFormula over to L.H.S.BooleanFormula
* We parameterized the BooleanFormula over the pass
The GHC specific details of BooleanFormula remain in Ghc.Data.BooleanFormula.
Because its parameterized over the pass its no longer a functor or
traversable, but we defined bfMap and bfTraverse for the cases where we
needed fmap and traverse originally. Most other changes are just churn.
-------------------------
Metric Decrease:
MultiLayerModulesTH_OneShot
-------------------------
- - - - -
d4fd3580 by Andreas Klebinger at 2024-11-05T07:36:16-05:00
ghc-heap: Fix incomplete selector warnings.
Use utility functions instead of selectors to read partial attributes.
Part of fixing #25380.
- - - - -
fdd9f62a by Peter Trommler at 2024-11-05T07:36:51-05:00
PPC NCG: Implement fmin and fmax
- - - - -
8e217256 by Mike Pilgrem at 2024-11-07T04:34:20-05:00
Re CLC #293 - Don't specify Data.List.NonEmpty in terms of partial
See https://github.com/haskell/core-libraries-committee/issues/293
`List.init` had already been driven out of `tails1` by 21fc180bec93d964a7f4ffdf2429ef6f74b49ab6 but this specification also avoided partial `fromList`, so I preferred it.
The `changelog.md` for `base` is updated, with an entry added under `base-4.22.0.0`.
- - - - -
346e4cd1 by Zubin Duggal at 2024-11-07T04:34:57-05:00
release: copy zip files into the correct directory
Fixes #25446
- - - - -
bbdbe225 by Zubin Duggal at 2024-11-07T04:34:57-05:00
release: Sign .gz bindists too
Fixes #25447
- - - - -
0c722e14 by Hécate Kleidukos at 2024-11-07T04:35:37-05:00
hadrian: Enforce the usage of GHC >=9.8.1 for ghci-multi
GHC 9.6 no good when it comes to multi-repl stuff, despite being well
within the range of n-2 releases for bootstrapping, when the script was
adapted to load haddock, in !12851
- - - - -
d8f8a1c3 by Sylvain Henry at 2024-11-07T19:27:46-05:00
Handle the special ghc-prim:GHC.Prim module in the compiler
Before this patch, some custom hacks were necessary in ghc-prim's
Setup.hs to register the GHC.Prim (virtual) module and in Hadrian to
generate haddocks properly.
In this patch we special-case this module in the compiler itself instead
(which it already is, see ghcPrimIface in GHC.Iface.Load). From
Cabal/Hadrian's perspective GHC.Prim is now just a normal autogenerated
module.
This simplification is worthwhile on its own. It was found while looking
into the work needed for #24453 which aims to merge ghc-prim,
ghc-bignum, and ghc-internal. It's also one step closer to remove
ghc-prim's custom setup.
- - - - -
a55adc8e by Cheng Shao at 2024-11-07T19:28:22-05:00
Clean up obsolete CPP guarded code paths from the tree
This patch cleans up obsolete CPP guarded code paths from the tree.
The minimum supported boot GHC version is 9.6, and all the pre-9.6 era
code paths can be removed.
- - - - -
9ede97f3 by Cheng Shao at 2024-11-07T19:28:58-05:00
Remove obsolete executable wrappers from the tree
The executable wrappers are handled by hadrian and bindist Makefile.
The various .wrapper scripts in the tree are unused since removal of
Make build system, so this patch removes them all.
- - - - -
7d42b2df by tristian at 2024-11-07T19:29:40-05:00
TcRnDuplicateDecls now suggests to use the DuplicateRecordFields extension.
Fixes: !24627
- - - - -
e56ed179 by Zubin Duggal at 2024-11-11T15:16:35+05:30
testsuite: normalise some versions in callstacks
(cherry picked from commit f230e29f30d0c1c566d4dd251807fcab76a2710e)
- - - - -
a28fc903 by Zubin Duggal at 2024-11-11T15:16:35+05:30
testsuite: use -fhide-source-paths to normalise some backpack tests
(cherry picked from commit b19de476bc5ce5c7792e8af1354b94a4286a1a13)
- - - - -
ed16d303 by Zubin Duggal at 2024-11-11T15:16:36+05:30
testsuite/haddock: strip version identifiers and unit hashes from html tests
(cherry picked from commit fbf0889eadc410d43dd5c1657e320634b6738fa5)
- - - - -
e45e5836 by Zubin Duggal at 2024-11-11T15:16:36+05:30
haddock: oneshot tests can drop files if they share modtimes. Stop this by
including the filename in the key.
Ideally we would use `ghc -M` output to do a proper toposort
Partially addresses #25372
(cherry picked from commit e78c7ef96e395f1ef41f04790aebecd0409b92b9)
- - - - -
9104e6eb by Zubin Duggal at 2024-11-11T15:16:36+05:30
testsuite: fix normalisation of T9930fail so that it doesn't get tripped up by ghc executable (ARGV[0]) differences
(cherry picked from commit a79a587e025d42d34bb30e115fc5c7cab6c1e030)
- - - - -
2c31264a by Zubin Duggal at 2024-11-11T15:16:36+05:30
testsuite: normalise windows file seperators
(cherry picked from commit f858875e03b9609656b542aaaaff85ad0a83878a)
- - - - -
2807f91b by Zubin Duggal at 2024-11-11T15:21:30+05:30
testsuite: Also match <VERSION> placeholders when normalising callsites
- - - - -
c02add17 by Ben Gamari at 2024-11-12T01:22:11-05:00
configure: Check version number validity
Here we verify the previously informal invariant that stable release
version numbers must have three components, preventing costly failed
releases.
Specifically, the check fails in the following scenarios:
* `version=9.13` while `RELEASE=YES` since this would imply a
release made from an unstable branch
* `version=9.13.0` since unstable versions should only have two
components
* `version=9.12` since this has the wrong number of version components
for a stable branch
Fixes #25390.
- - - - -
747fd322 by Teo Camarasu at 2024-11-12T01:22:49-05:00
docs: link to #14474 in the template-haskell docs
- - - - -
6d96bb62 by Zubin Duggal at 2024-11-12T01:23:25-05:00
testsuite: normalise execvp vs exec differences in process tests
Fixes #25431
- - - - -
502e6711 by Torsten Schmits at 2024-11-12T01:24:01-05:00
fix test lint that accumulated while the checks were broken
I didn't fix the issues flagged by the #ifdef linter because it were so
many that it seemed like the rule has become obsolete.
- - - - -
223a4cb5 by Torsten Schmits at 2024-11-12T01:24:02-05:00
test driver: fix file collection for regex linters
When a testsuite linter is executed with the `tracked` strategy, the
driver runs `git ls-tree` to collect eligible files.
This appears to have ceased producing any paths – `ls-tree` restricts
its results to the current working directory, which is
`testsuite/tests/linters` in this case.
As a quick fix, this patch changes the working directory to match
expectations.
- - - - -
9ad9ac63 by Alan Zimmerman at 2024-11-12T01:24:39-05:00
EPA: Capture location of '_' for wild card type binder
And keep track of promotion status in HsExplicitTupleTy, so the
round-trip ppr test works for it.
Updates Haddock output too, using the PromotionFlag in
HsExplicitTupleTy.
Closes #25454
- - - - -
c37b96fa by Cheng Shao at 2024-11-12T01:25:15-05:00
wasm: fix setImmediate() implementation for Cloudflare Workers
This patch fixes setImmediate() implementation for Cloudflare Workers
in the wasm backend's js prelude script. Cloudflare Workers doesn't
support the MessageChannel API, and we use a setTimeout() based
fallback implementation in this case.
- - - - -
bea8ea4c by Cheng Shao at 2024-11-12T01:25:15-05:00
wasm: fix FinalizationRegistry logic for Cloudflare Workers
This patch fixes FinalizationRegistry related logic for Cloudflare
Workers in wasm backend js post linker. Cloudflare Workers doesn't
support FinalizationRegistry, in this case we use a dummy
implementation that doesn't do anything.
- - - - -
46d93c08 by Sebastian Graf at 2024-11-13T08:34:42+01:00
DmdAnal: Make `prompt#` lazy (#25439)
This applies the same treatment to `prompt#` as for `catch#`.
See `Note [Strictness for mask/unmask/catch/prompt]`.
Fixes #25439.
- - - - -
30 changed files:
- .gitlab/rel_eng/recompress-all
- .gitlab/rel_eng/upload.sh
- compiler/GHC/Builtin/primops.txt.pp
- compiler/GHC/CmmToAsm/PPC/CodeGen.hs
- compiler/GHC/CmmToAsm/PPC/Instr.hs
- compiler/GHC/CmmToAsm/PPC/Ppr.hs
- compiler/GHC/CmmToAsm/Ppr.hs
- compiler/GHC/Core/Class.hs
- compiler/GHC/Core/Opt/SpecConstr.hs
- compiler/GHC/Core/TyCon.hs
- compiler/GHC/CoreToIface.hs
- compiler/GHC/Data/BooleanFormula.hs
- compiler/GHC/Data/FastString.hs
- compiler/GHC/Data/StringBuffer.hs
- compiler/GHC/Data/Word64Map/Internal.hs
- compiler/GHC/Data/Word64Map/Lazy.hs
- compiler/GHC/Data/Word64Map/Strict.hs
- compiler/GHC/Data/Word64Map/Strict/Internal.hs
- compiler/GHC/Data/Word64Set.hs
- compiler/GHC/Data/Word64Set/Internal.hs
- compiler/GHC/Driver/Main.hs
- compiler/GHC/Hs/Binds.hs
- compiler/GHC/Hs/Decls.hs
- compiler/GHC/Hs/Instances.hs
- compiler/GHC/Hs/Type.hs
- compiler/GHC/HsToCore/Quote.hs
- compiler/GHC/Iface/Decl.hs
- compiler/GHC/Iface/Ext/Ast.hs
- compiler/GHC/Iface/Syntax.hs
- compiler/GHC/IfaceToCore.hs
The diff was not included because it is too large.
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/38ec8053e3c6c86e3271e9eff8e3aa0ba94e5b02...46d93c08e65bbf30da53795bd87b65be93a3fcf2
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/38ec8053e3c6c86e3271e9eff8e3aa0ba94e5b02...46d93c08e65bbf30da53795bd87b65be93a3fcf2
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/20241113/62ce566a/attachment-0001.html>
More information about the ghc-commits
mailing list