-
05b32bc4
by sheaf at 2026-04-15T09:46:47-04:00
Simplify mkTick
This commit simplifies 'GHC.Core.Utils.mkTick', removing the
accumulating parameter 'rest' which was suspiciously treating a bunch of
different ticks as a group, and moving the group as a whole around the
AST, ignoring that the ticks in the group might have different placement
properties.
The most important change is that we revert the logic (added in 85b0aae2)
that allowed ticks to be placed around coercions, which caused serious
issues (e.g. #27121). It was just a mistake, as it doesn't make sense
to put a tick around a coercion.
Also adds Note [Pushing SCCs inwards] which clarifies the logic for
pushing SCCs into lambdas, constructor applications, and dropping SCCs
around non-function variables (in particular the treatment of splittable
ticks).
A few other changes are also implemented:
- simplify 'can_split' predicate (no functional change)
- combine profiling ticks into one when possible
Fixes #26878, #26941 and #27121
Co-authored-by: simonpj <simon.peytonjones@gmail.com>
-
bec025f7
by aparker at 2026-04-15T09:46:51-04:00
NCG: Implement constant folding for vector simd ops (Issue #25030)
-
2c06a6ed
by Wolfgang Jeltsch at 2026-04-15T09:46:52-04:00
Move most of the `System.IO` implementation into `base`
This involves a rewrite of the `combine` helper function to avoid the
use of `last`, which would now be flagged as an error.
Metric Increase:
T12227
T12707
T5642
-
fa7c7a7f
by Simon Jakobi at 2026-04-15T09:46:54-04:00
Add regression test for #9074
Closes #9074.
-
1c776e3b
by Sylvain Henry at 2026-04-15T09:47:24-04:00
Add changelog for #15973