-
ed261a7e
by Cheng Shao at 2026-07-14T17:59:38-04:00
hadrian: fix HLS support
This patch fixes hadrian's HLS support so one can rely on HLS when
working on the hadrian codebase. Fixes #27480.
Not building/linking shared libraries for hadrian is a severely
premature optimization; this top-level setting in `cabal.project` only
affects home packages while the dependencies in the cabal store are
built with vanilla/dynamic anyway, and even adding dynamic builds to
home packages would not be costly due to cabal's usage of
`-dynamic-too`.
-
eee8ec5b
by Cheng Shao at 2026-07-14T18:00:20-04:00
compiler: fix miscompiled %load_relaxed, add missing %store_relaxed
This patch fixes the %load_relaxed cmm primop compilation logic to
correctly use relaxed memory ordering, and adds the missing
%store_relaxed primop. Parsing logic of %load/%store with explicit
ordering is covered in the AtomicFetch test case. Fixes #27483.
Co-authored-by: Codex <codex@openai.com>
-
1718230f
by Alan Zimmerman at 2026-07-14T18:01:06-04:00
EPA: Keep binds and sigs together in HsValBindsLR
We combine them into a single list for GhcPs, wrapped in the
ValBind data type, which is the bind equivalent of ValD, having
constructors for binds and sigs.
This simplifies exact print processing, especially when using it to
update the contents of local binds, as we no longer need AnnSortKey
BindTag
-
6bd1ad2a
by Andreas Klebinger at 2026-07-14T18:01:49-04:00
Bump nofib submodule to account for MonoLocalBinds.
New versions of GHC enable MonoLocalBinds by default.
This breaks some of the benchmarks. I've fixed this and
this bump pulls in that fix.
-
7eb0f1c9
by Cheng Shao at 2026-07-14T18:02:31-04:00
testsuite: fix bytecodeIPE test under +ipe flavours
This patch fixes the bytecodeIPE test under +ipe flavours. It used to
fail under +ipe because the RTS is built with IPE info, then
stg_AP_info in RTS carries IPE info, so whereFrom wouldn't return
Nothing. Now the test checks IPE info of a datacon in the ghci-loaded
module which is not affected by whether the RTS is built with IPE info
or not. Fixes #27498.
Co-authored-by: Codex <codex@openai.com>
-
ef038aae
by cydparser at 2026-07-15T04:35:41-04:00
Reduce bytes allocated for `capabilities` in RTS (fixes #27487)
In rts/Capability.c, `capabilities` is an array of pointers, but it was allocated as if it were an
array of Capability's.
-
d377e83e
by Cheng Shao at 2026-07-15T04:36:27-04:00
rts: fix missing UNTAG in stg_readTVarIOzh
This patch fixes missing UNTAG on the current value closure read from
StgTVar. UNTAG is a no-op when it's stg_TREC_HEADER_info which is word
aligned; it may be a tagged closure, and reading info table from the
tagged address is an unaligned load which may cause issues on
platforms with strict alignment requirements.
Co-authored-by: Codex <codex@openai.com>
-
8ed03842
by Cheng Shao at 2026-07-15T04:36:27-04:00
rts: fix missing UNTAG in stg_control0zh_ll
This patch fixes missing UNTAG on the cont closure returned by
captureContinuationAndAbort. In case it's not NULL,
captureContinuationAndAbort returns a tagged StgContinuation closure,
in which case it must be untagged before accessing the
apply_mask_frame field.
In the past it worked out of luck: when apply_mask_frame was NULL then
mask_frame_offset is also 0 so the control flow didn't diverge to a
wrong path. Still, this is horribly wrong and will crash once
StgContinuation struct is refactored and fields are shuffled around.
Co-authored-by: Codex <codex@openai.com>
-
5aa7000a
by Cheng Shao at 2026-07-15T04:37:08-04:00
compiler: fix redundant AP thunk codegen when not using -ticky-ap-thunk
This patch fixes a double negation confusion in !7525 that results in
some redundant AP thunk code generation when not using
-ticky-ap-thunk. Now, we use `stgToCmmUseStdApThunk` to indicate
whether precomputed AP thunks in the RTS should be used, which
defaults to `True`, unless `-ticky-ap-thunk` is passed.
`-finfo-table-map` now also implies `-ticky-ap-thunk`, since when
doing IPE profiling we want the generated AP thunks to be unique.
Fixes #27502.
-------------------------
Metric Decrease:
T3064
-------------------------
Co-authored-by: Codex <codex@openai.com>
-
467d0ceb
by Alan Zimmerman at 2026-07-15T22:35:01+01:00
Keep decls together in ClassDecl
-
cada6f37
by Alan Zimmerman at 2026-07-15T22:38:50+01:00
EPA: ClsInstDecl as list in GhcPs
-
b46e6c0c
by Alan Zimmerman at 2026-07-15T22:38:50+01:00
EPA: Remove LocatedP from OverlapMode
-
3b628fb1
by Alan Zimmerman at 2026-07-15T22:38:50+01:00
EPA: Remove LocatedP from CType
-
f08a71f1
by Alan Zimmerman at 2026-07-15T22:38:50+01:00
EPA: Remove LocatedP, last use in WarningTxt
-
83b8e2b9
by Alan Zimmerman at 2026-07-15T22:38:50+01:00
EPA: Remove LocatedE from WarningCategory
-
bae80ae7
by Alan Zimmerman at 2026-07-15T22:38:50+01:00
EPA: Remove LocateE from XCImport and XCExport
-
d567cc4f
by Alan Zimmerman at 2026-07-15T22:38:50+01:00
EPA: Remove LocatedE from HsRecFields dot
-
df6c8d24
by Alan Zimmerman at 2026-07-15T22:38:50+01:00
EPA: Remove LocatedE completely, last usage for pats
-
6c60a0e6
by Alan Zimmerman at 2026-07-15T22:38:50+01:00
EPA: Remove AnnList (EpToken "where") usages
This is moving toward removing the parameter from AnnList completely
-
8a6ee358
by Alan Zimmerman at 2026-07-15T22:38:50+01:00
EPA remove AnnList (EpToken "rec") usages
-
62201dcf
by Alan Zimmerman at 2026-07-15T22:38:50+01:00
EPA: Remove last parameterised AnnList usage (EpaLocation)
Also remove the parameter
-
02dffd1f
by Alan Zimmerman at 2026-07-15T22:38:50+01:00
TTG: Add extension points to BooleanFormula
They are currently unused, but will be used for exact print annotations next
-
02bca385
by Alan Zimmerman at 2026-07-15T22:38:50+01:00
EPA: Remove LocatedBC / SrcSpanBF
-
9991537d
by Alan Zimmerman at 2026-07-15T22:38:50+01:00
EPA: remove unused addTrailingAnnToL. Squash appropriately
-
72da7aff
by Alan Zimmerman at 2026-07-15T22:38:50+01:00
EPS: Remove NoEpTok/NoEpUniTok, using an unhelpful SrcSpan instead
Also introduce helper functions noEpTok and noEpUniTok to serve
as simple replacements in code inserting an token annotation without
location information.