[Git][ghc/ghc][wip/T25468] 12 commits: Flip the order of arguments of setField (#24668)

Simon Peyton Jones (@simonpj) gitlab at gitlab.haskell.org
Sat Dec 28 23:01:55 UTC 2024



Simon Peyton Jones pushed to branch wip/T25468 at Glasgow Haskell Compiler / GHC


Commits:
1f67ad21 by Andrei Borzenkov at 2024-12-25T01:42:31-05:00
Flip the order of arguments of setField (#24668)

GHC Proposal 583 "HasField redesign" specifies the
following order of a setField function arguments as this:

  setField :: forall fld a b. SetField fld a b. b -> a -> a

This patch flips the application order to match the spec.

- - - - -
3e0c948d by Ben Gamari at 2024-12-25T01:43:08-05:00
rel-eng/upload: Add set_symlink mode

This slightly eases updating of the `latest` symlinks.

- - - - -
63d63f9d by Simon Peyton Jones at 2024-12-25T01:43:45-05:00
Preserve orientation when unifying kinds

This MR fixes yet another manifestation of the trickiness caused
by Note [Fundeps with instances, and equality orientation].

I wish there was a more robust way to do this, but this fix is
a definite improvement.

Fixes #25597

- - - - -
94ba9a6a by ARATA Mizuki at 2024-12-26T10:47:57-05:00
x86 NCG SIMD: Support pack/insert/broadcast/unpack of 128-bit integer vectors

- - - - -
6bf0d587 by Andrew Lelechenko at 2024-12-26T10:48:33-05:00
docs: fix haddock formatting in Control.Monad.Fix

- - - - -
feb14af1 by Sergey Vinokurov at 2024-12-27T15:06:28+00:00
Remove unnecessary irrefutable patterns from NonEmpty functions

Implementation of https://github.com/haskell/core-libraries-committee/issues/107

- - - - -
6a0d91b4 by Sergey Vinokurov at 2024-12-27T15:06:28+00:00
Make cons, Semigroup, IsList, and Monad instances stricter

- - - - -
1249e597 by Sergey Vinokurov at 2024-12-27T15:06:28+00:00
Restore some laziness in <| and Semigroup instance, improve Monad instance

The Monad instance shouldn't produce the outer :| unless f a reduces
to WHNF. (Notice that the b :| bs match is implicitly lazy.)

- - - - -
8699d826 by Sergey Vinokurov at 2024-12-27T15:12:30+00:00
Add comment outlining Data.List.NonEmpty implementation guiding principles

- - - - -
7febe00e by Sergey Vinokurov at 2024-12-27T22:24:43+00:00
Fix tests since location of ‘>>=’ changed

- - - - -
a928c326 by ARATA Mizuki at 2024-12-28T03:06:14-05:00
Fix LLVM version detection

With a recent LLVM, `llc -version` emits the version on the first line
if the vendor is set.  It emits the version on the second line
otherwise.

Therefore, we need to check the both lines to detect the version.

GHC now emits a warning if it fails to detect the LLVM version,
so we can notice if the output of `llc -version` changes in the future.

Also, the warning for using LLVM < 10 on s390x is removed, because
we assume LLVM >= 13 now.

This fixes the definition of __GLASGOW_HASKELL_LLVM__ macro.

Fixes #25606

- - - - -
93ead64d by Simon Peyton Jones at 2024-12-28T22:56:56+00:00
Fix in-scope set for CSE

Ticket #25468 showed an assertion failure in CSE because a top-level
Id was being used before it was defined.  Reason: Note [Glomming] in
GHC.Core.Opt.OccurAnal.

Solution (used in many places): just put all the top-level bindings in
scope at the beginning of CSE.

Compile-time allocation wobbles up and down a tiny bit; geo mean is
zero. But MultiLayerModulesTH_OneShot incareases by 2.8%.  I think
this is just a random fluctuation.

Metric Increase:
    MultiLayerModulesTH_OneShot

- - - - -


30 changed files:

- .gitlab/rel_eng/upload.sh
- compiler/GHC/CmmToAsm/X86/CodeGen.hs
- compiler/GHC/CmmToAsm/X86/Instr.hs
- compiler/GHC/CmmToAsm/X86/Ppr.hs
- compiler/GHC/CmmToLlvm.hs
- compiler/GHC/Core/Lint.hs
- compiler/GHC/Core/Opt/CSE.hs
- compiler/GHC/Rename/Expr.hs
- compiler/GHC/SysTools/Tasks.hs
- compiler/GHC/Tc/Solver/Equality.hs
- compiler/GHC/Tc/Utils/Unify.hs
- docs/users_guide/9.14.1-notes.rst
- docs/users_guide/exts/overloaded_record_update.rst
- docs/users_guide/phases.rst
- libraries/base/src/Control/Monad/Fix.hs
- libraries/base/src/Data/List/NonEmpty.hs
- libraries/ghc-internal/src/GHC/Internal/Base.hs
- libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs
- libraries/ghc-internal/src/GHC/Internal/Data/List/NonEmpty.hs
- libraries/ghc-internal/src/GHC/Internal/Data/Traversable.hs
- libraries/ghc-internal/src/GHC/Internal/IsList.hs
- + testsuite/tests/llvm/should_compile/T25606.hs
- testsuite/tests/llvm/should_compile/all.T
- testsuite/tests/parser/should_fail/RecordDotSyntaxFail10.hs
- testsuite/tests/parser/should_fail/RecordDotSyntaxFail13.hs
- testsuite/tests/parser/should_run/RecordDotSyntax1.hs
- testsuite/tests/profiling/should_run/caller-cc/CallerCc1.prof.sample
- testsuite/tests/profiling/should_run/caller-cc/CallerCc2.prof.sample
- testsuite/tests/profiling/should_run/caller-cc/CallerCc3.prof.sample
- testsuite/tests/profiling/should_run/callstack001.stdout


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/f603fc0889dafb5dcbb154d2a7cb709e9217b8de...93ead64d12837f2228c7ee5a4a70d93aa7a18e95

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/f603fc0889dafb5dcbb154d2a7cb709e9217b8de...93ead64d12837f2228c7ee5a4a70d93aa7a18e95
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/20241228/03822b09/attachment.html>


More information about the ghc-commits mailing list