| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
We now must use `-passes` in place of `-O<n>` due to #21936.
Closes #21936.
|
|
|
|
|
|
|
| |
The old assertion saw that a constraint ct could rewrite itself
(of course it can) and complained (stupid).
Fixes #22645
|
|
|
|
|
|
|
|
|
|
|
|
| |
Issue #22623 demonstrated another lacuna in the implementation
of wrinkle (BS3) in Note [The binder-swap substitution] in
the occurrence analyser.
I was failing to add TyVar lambda binders using
addInScope/addOneInScope and that led to a totally bogus binder-swap
transformation.
Very easy to fix.
|
|
|
|
| |
error (#22617)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix #22459, in two ways:
(1) Make the Specialiser not create a bogus specialisation if
it is presented by strangely polymorphic dictionary.
See Note [Weird special case in SpecDict] in
GHC.Core.Opt.Specialise
(2) Be more careful in abstractFloats
See Note [Which type variables to abstract over]
in GHC.Core.Opt.Simplify.Utils.
So (2) stops creating the excessively polymorphic dictionary in
abstractFloats, while (1) stops crashing if some other pass should
nevertheless create a weirdly polymorphic dictionary.
|
|
|
|
|
|
|
| |
T13253 imports MonadTrans, which acquired a quantified constraint in transformers-0.6, thus increase in allocations
Metric Increase:
T13253
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|