-
14f485ee
by ARATA Mizuki at 2026-02-17T09:09:24+09:00
Support more x86 extensions: AVX-512 {BW,DQ,VL} and GFNI
Also, mark AVX-512 ER and PF as deprecated.
AVX-512 instructions can be used for certain 64-bit integer vector operations.
GFNI can be used to implement bitReverse (currently not used by NCG, but LLVM may use it).
Closes #26406
Addresses #26509
-
016f79d5
by fendor at 2026-02-17T09:16:16-05:00
Hide implementation details from base exception stack traces
Ensure we hide the implementation details of the exception throwing mechanisms:
* `undefined`
* `throwSTM`
* `throw`
* `throwIO`
* `error`
The `HasCallStackBacktrace` should always have a length of exactly 1,
not showing internal implementation details in the stack trace, as these
are vastly distracting to end users.
CLC proposal [#387](https://github.com/haskell/core-libraries-committee/issues/387)
-
4f2840f2
by Brian J. Cardiff at 2026-02-17T17:04:08-05:00
configure: Accept happy-2.2
In Jan 2026 happy-2.2 was released. The most sensible change is https://github.com/haskell/happy/issues/335 which didn't trigger in a fresh build
-
10b4d364
by Duncan Coutts at 2026-02-17T17:04:52-05:00
Fix errors in the documentation of the eventlog STOP_THREAD status codes
Fix the code for BlockedOnMsgThrowTo.
Document all the known historical warts.
Fixes issue #26867
-
c5e15b8b
by Phil de Joux at 2026-02-18T05:07:36-05:00
haddock: use snippets for all list examples
- generate snippet output for docs
- reduce font size to better fit snippets
- Use only directive to guard html snippets
- Add latex snippets for lists
-
d388bac1
by Phil de Joux at 2026-02-18T05:07:36-05:00
haddock: Place the snippet input and output together
- Put the output seemingly inside the example box
-
016fa306
by Samuel Thibault at 2026-02-18T05:08:35-05:00
Fix linking against libm by moving the -lm option
For those systems that need -lm for getting math functions, this is
currently added on the link line very early, before the object files being
linked together. Newer toolchains enable --as-needed by default, which means
-lm is ignored at that point because no object requires a math function
yet. With such toolchains, we thus have to add -lm after the objects, so the
linker actually includes libm in the link.
-
68bd0805
by Teo Camarasu at 2026-02-18T05:09:19-05:00
ghc-internal: Move GHC.Internal.Data.Bool to base
This is a tiny module that only defines bool :: Bool -> a -> a -> a. We can just move this to base and delete it from ghc-internal. If we want this functionality there we can just use a case statement or if-then expression.
Resolves 26865
-
4c40df3d
by fendor at 2026-02-20T10:24:48-05:00
Add optional `SrcLoc` to `StackAnnotation` class
`StackAnnotation`s give access to an optional `SrcLoc` field that
user-added stack annotations can use to provide better backtraces in both error
messages and when decoding the callstack.
We update builtin stack annotations such as `StringAnnotation` and
`ShowAnnotation` to also capture the `SrcLoc` of the current `CallStack`
to improve backtraces by default (if stack annotations are used).
This change is backwards compatible with GHC 9.14.1.
-
fd9aaa28
by Simon Hengel at 2026-02-20T10:25:33-05:00
docs: Fix grammar in explicit_namespaces.rst
-
44354255
by Vo Minh Thu at 2026-02-20T18:53:06-05:00
GHCi: add a :version command.
This looks like:
ghci> :version
GHCi, version 9.11.20240322
This closes #24576.
Co-Author: Markus Läll <markus.l2ll@gmail.com>
-
eab3dbba
by Andreas Klebinger at 2026-02-20T18:53:51-05:00
hadrian/build-cabal: Better respect and utilize -j
* We now respect -j<n> for the cabal invocation to build hadrian rather
than hardcoding -j
* We use the --semaphore flag to ensure cabal/ghc build the hadrian
executable in parallel using the -jsem mechanism.
Saves 10-15s on fresh builds for me.
Fixes #26876
-
17839248
by Teo Camarasu at 2026-02-24T08:36:03-05:00
ghc-internal: avoid depending on GHC.Internal.Control.Monad.Fix
This module contains the definition of MonadFix, since we want an
instance for IO, that instance requires a lot of machinery and we want
to avoid an orphan instance, this will naturally be quite high up in the
dependency graph.
So we want to avoid other modules depending on it as far as possible.
On Windows, the IO manager depends on the RTSFlags type, which
transtively depends on MonadFix. We refactor things to avoid this
dependency, which would have caused a regression.
Resolves #26875
Metric Decrease:
T12227
-
fa88d09a
by Wolfgang Jeltsch at 2026-02-24T08:36:47-05:00
Refine the imports of `System.IO.OS`
Commit 68bd08055594b8cbf6148a72d108786deb6c12a1 replaced the
`GHC.Internal.Data.Bool` import by a `GHC.Internal.Base` import.
However, while the `GHC.Internal.Data.Bool` import was conditional and
partial, the `GHC.Internal.Base` import is unconditional and total. As a
result, the import list is not tuned to import only the necessary bits
anymore, and furthermore GHC emits a lot of warnings about redundant
imports.
This commit makes the `GHC.Internal.Base` import conditional and partial
in the same way that the `GHC.Internal.Data.Bool` import was.
-
6cab5489
by Peter Trommler at 2026-02-25T12:34:53+01:00
Fix conditional branch in atomicRMW ops
-
24a1f1c3
by Peter Trommler at 2026-02-25T12:41:27+01:00
Add ORC instruction
-
4b814835
by Peter Trommler at 2026-02-25T12:41:40+01:00
Draft of atomic RMW at smaller sizes
-
1c9bb495
by Peter Trommler at 2026-02-25T12:41:40+01:00
Fix W32 and W64 case, move to dst register
-
cabc534c
by Peter Trommler at 2026-02-25T12:41:40+01:00
Fix masked_other
-
06451636
by Peter Trommler at 2026-02-25T12:41:40+01:00
Fix build_result
-
c51f6ea0
by Peter Trommler at 2026-02-25T12:41:40+01:00
testsuite: mark T9015 `req_interp`
The test does not require the RTS linker (req_rts_linker), support
for GHCi (req_interp) is sufficient.
-
cd0118d3
by Peter Trommler at 2026-02-25T12:41:40+01:00
Fix shift amount on big endian (sic!)
-
3d41fdde
by Peter Trommler at 2026-02-25T12:41:40+01:00
Fix build result
-
1678f8a9
by Peter Trommler at 2026-02-25T12:41:40+01:00
PPC NCG: print tab after clr(l|r)i instr
-
afe2a6b8
by Peter Trommler at 2026-02-25T12:41:40+01:00
Refactor and implement small constants for W32/W64
-
6a451c09
by Peter Trommler at 2026-02-25T12:41:53+01:00
Optimize AMO_And
-
c830210b
by Peter Trommler at 2026-02-25T12:42:06+01:00
Refactor mask inversion
-
e7dfc1e0
by Peter Trommler at 2026-02-25T12:42:06+01:00
Optimize OR and XOR and more refactoring
-
95f1f61c
by Peter Trommler at 2026-02-25T12:42:06+01:00
Some more refactoring