| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The latter has been deprecated.
See #22566.
|
|
|
|
|
|
|
| |
As noted in #22566, this macro is deprecated as of autoconf-2.70
`AC_PROG_CC` now sets `ac_cv_prog_cc_c99` itself.
Closes #22566.
|
|
|
|
|
|
|
| |
This change reflects the changes where .cabal files are now generated by
hadrian rather than ./configure.
Fixes #22518
|
|
|
|
| |
CmmDecl)]` but truly wants a `[(CAFSet, CmmStatics)]`.
|
|
|
|
| |
See #22649
|
|
|
|
|
|
|
|
| |
As noted in #22538, previously some GCC versions warned that various
locals in Libdw.c may be used uninitialized. Although this wasn't
strictly true (since they were initialized in an inline assembler block)
we fix this by providing explicit empty initializers.
Fixes #22538
|
|
|
|
|
|
|
| |
0e274c39bf836d5bb846f5fa08649c75f85326ac added an assertion in
`dirty_MUT_VAR` checking that the MUT_VAR being dirtied was clean.
However, this isn't necessarily the case since another thread may have
raced us to dirty the object.
|
|
|
|
| |
The `IOError`-specific `catch` in the Prelude is long gone.
|
| |
|
|
|
|
| |
Following convention as in other wasm toolchains. Fixes #22594.
|
|
|
|
| |
These are not present in wasi-libc. Required for fixing #22589
|
|
|
|
|
|
|
|
|
| |
When the `-mtail-call` clang flag is passed at configure time, wasm
tail-call extension is enabled, and the wasm NCG will emit
`return_call`/`return_call_indirect` instructions to take advantage of
it and avoid the `StgRun` trampoline overhead.
Closes #22461.
|
|
|
|
|
|
|
|
|
|
| |
wasm NCG
In the wasm NCG, when handling a `CLabel` of undefined function
without knowing its function signature, we used to fallback to `() ->
()` which is accepted by `wasm-ld`. This patch changes it to the
signature of Cmm functions, which equally works, but would be required
when we emit tail call instructions.
|
|
|
|
| |
Also removes some unreachable code here.
|
|
|
|
|
| |
It was just a temporary hack to workaround a bug in the relooper, that
bug has been fixed long before the wasm backend is merged.
|
|
|
|
| |
It's starting to pass again, and the unexpected pass blocks CI.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is because of `filepath-1.4.100.0` and AFPP, causing increasing round-trips
between lists and ByteArray. See #22625 for discussion.
Metric Increase:
MultiComponentModules
MultiComponentModulesRecomp
MultiLayerModules
MultiLayerModulesRecomp
T10421
T10547
T12150
T12227
T12234
T12425
T13035
T13253
T13253-spj
T13701
T13719
T15703
T16875
T18140
T18282
T18304
T18698a
T18698b
T18923
T20049
T21839c
T21839r
T5837
T6048
T9198
T9961
TcPlugin_RewritePerf
hard_hole_fits
|
| |
|
| |
|
| |
|
|
|
|
| |
This is a rather simplistic way of solving #17289.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Relaxed ordering is fine here since the later CAS implies a release.
|
| |
|
| |
|
|
|
|
|
| |
This makes it easier to ensure that it is accessed using the necessary
atomic operations.
|
|
|
|
|
|
| |
As noted in #22447, the existence of the pthread-based ITimer
implementation means that we cannot assume that the program is
single-threaded.
|
|
|
|
| |
Since these are modified by the timer handler.
|
|
|
|
|
|
|
| |
Previously the dump filename cache would use a non-atomic update which
could potentially result in lost dump contents. Note that this is still
a bit racy since the first writer may lag behind a later appending
writer.
|
|
|
|
|
|
| |
And ensure accesses to n_capabilities are atomic (although with relaxed
ordering). This is necessary as RTS API callers may concurrently call
into the RTS without holding a capability.
|
|
|
|
|
| |
Also introduce MUT_FIELD marker in Closures.h to document mutable
fields.
|
|
|
|
| |
See #22421.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This doesn't change behavior but makes the code a bit easier to follow.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the `checkValidInst` function (used when checking that an instance
declaration is headed by an actual type class, not a type synonym) was using
`tcSplitSigmaTy` to split apart the `forall`s and instance context. This is
incorrect, however, as `tcSplitSigmaTy` expands type synonyms, which can cause
instances headed by quantified constraint type synonyms to be accepted
erroneously.
This patch introduces `splitInstTyForValidity`, a variant of `tcSplitSigmaTy`
specialized for validity checking that does _not_ expand type synonyms, and
uses it in `checkValidInst`.
Fixes #22570.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Lint check for branch compatiblity within an axiom, in
GHC.Core.Lint.compatible_branches was subtly different to the
check made when contructing an axiom, in
GHC.Core.FamInstEnv.compatibleBranches.
The latter is correct, so I killed the former and am now using the
latter.
On the way I did some improvements to pretty-printing and documentation.
|
|
|
|
|
|
|
| |
Here we add acquire and release barriers in readMutVar# and
writeMutVar#, which are necessary for soundness.
Fixes #22468.
|
|
|
|
|
|
|
|
| |
Previously we were just looking at the direct imports to try and work
out what a package qualifier could apply to but #22333 pointed out we
also needed to look for reexported modules.
Fixes #22333
|
|
|
|
|
| |
This is in general unsafe as they may be clobbered if they are mapped to
caller-saved machine registers. See Note [Register parameter passing].
|
| |
|