[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 9 commits: SpecConstr: Introduce a separate argument limit for forced specs.

Marge Bot (@marge-bot) gitlab at gitlab.haskell.org
Tue Oct 1 16:36:24 UTC 2024



Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC


Commits:
39a00c9e by Andreas Klebinger at 2024-10-01T12:35:52-04:00
SpecConstr: Introduce a separate argument limit for forced specs.

We used to put no limit at all on specializations forced via the SPEC
argument. This isn't always reasonable so we introduce a very high limit
that applies to forced specializations, a flag to control it, and we now
emit a warning if we fail a specialization because we exceed the
warning.

Fixes #25197

- - - - -
a4f76409 by Andreas Klebinger at 2024-10-01T12:35:53-04:00
ghc-experimental: Expose primops and ghc extensions via GHC.PrimOps

This will be the new place for functions that would have gone into
GHC.Exts in the past but are not stable enough to do so now.

Addresses #25242

- - - - -
65869b04 by Sylvain Henry at 2024-10-01T12:35:56-04:00
RTS: cleanup timerfd file descriptors after a fork (#25280)

When we init a timerfd-based ticker, we should be careful to cleanup the
old file descriptors (e.g. after a fork).

- - - - -
66ed483e by Rodrigo Mesquita at 2024-10-01T12:35:57-04:00
determinism: Deterministic MonadGetUnique LlvmM

Update LlvmM to thread a unique deterministic supply (using UniqDSMT),
and use it in the MonadGetUnique instance.

This makes uniques sampled from LlvmM deterministic, which guarantees
object determinism with -fllvm.

Fixes #25274

- - - - -
dd49c0ff by Matthew Pickering at 2024-10-01T12:35:58-04:00
Bump LLVM upper bound to allow LLVM 19

Also bumps the ci-images commit so that the deb12 images uses LLVM 19
for testing.

-------------------------
Metric Decrease:
    size_hello_artifact_gzip
    size_hello_unicode_gzip
-------------------------

Fixes #25295

- - - - -
dd34c806 by Matthew Pickering at 2024-10-01T12:35:58-04:00
configure: Allow happy-2.0.2

happy-2.0.2 can be used to compile GHC.

happy-2.0 and 2.0.1 have bugs which make it unsuitable to use.

The version bound is now == 1.20.* || >= 2.0.2 && < 2.1

Fixes #25276

- - - - -
9f8aca27 by Matthew Pickering at 2024-10-01T12:35:59-04:00
Fix registerArch for riscv64

The register allocator doesn't support vector registers on riscv64,
therefore advertise as NoVectors.

Fixes #25314

- - - - -
1a2729c6 by Matthew Pickering at 2024-10-01T12:35:59-04:00
riscv: Avoid using csrr instruction to test for vector registers

The csrr instruction isn't allowed in qemu user-mode, and raises an
illegal instruction error when it is encountered.

Therefore for now, we just hard-code that there is no support for vector
registers since the rest of the compiler doesn't support vector
registers for riscv.

Fixes #25312

- - - - -
048e98e4 by Andreas Klebinger at 2024-10-01T12:35:59-04:00
Add support for fp min/max to riscv

Fixes #25313

- - - - -


19 changed files:

- .gitlab-ci.yml
- compiler/GHC/CmmToAsm/RV64/CodeGen.hs
- compiler/GHC/CmmToAsm/RV64/Instr.hs
- compiler/GHC/CmmToAsm/RV64/Ppr.hs
- compiler/GHC/CmmToLlvm.hs
- compiler/GHC/CmmToLlvm/Base.hs
- compiler/GHC/Core/Opt/SpecConstr.hs
- compiler/GHC/Driver/DynFlags.hs
- compiler/GHC/Driver/Session.hs
- compiler/GHC/Platform/Reg/Class.hs
- configure.ac
- docs/users_guide/using-optimisation.rst
- libraries/base/src/GHC/Exts.hs
- libraries/ghc-experimental/ghc-experimental.cabal.in
- + libraries/ghc-experimental/src/GHC/PrimOps.hs
- libraries/ghc-internal/src/GHC/Internal/Exts.hs
- m4/fptools_happy.m4
- rts/CheckVectorSupport.c
- rts/posix/ticker/TimerFd.c


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/b7ddcae7304e9bbdedf4aee2ea315dc24f9024e8...048e98e4be0bc4a3babac45c5d9d64122a639cc1

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/b7ddcae7304e9bbdedf4aee2ea315dc24f9024e8...048e98e4be0bc4a3babac45c5d9d64122a639cc1
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/20241001/931ce9a6/attachment.html>


More information about the ghc-commits mailing list