[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 5 commits: Simplify mkTick
Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC Commits: d110a78c by sheaf at 2026-04-15T20:12:27-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> - - - - - fff7f6ca by aparker at 2026-04-15T20:12:31-04:00 NCG: Implement constant folding for vector simd ops (Issue #25030) - - - - - bbd0b492 by Simon Jakobi at 2026-04-15T20:12:34-04:00 Add regression test for #9074 Closes #9074. - - - - - fc76f4a3 by Sylvain Henry at 2026-04-15T20:12:41-04:00 Add changelog for #15973 - - - - - db543941 by sheaf at 2026-04-15T20:12:47-04:00 Deal with 'noSpec' in 'coreExprToPmLit' This commit makes two separate changes relating to 'GHC.HsToCore.Pmc.Solver.Types.coreExprAsPmLit': 1. Commit 7124e4ad mistakenly marked deferred errors as non-canonical, which led to the introduction of 'nospec' wrappers in the generated Core. This reverts that accident by declaring deferred errors as being canonical, avoiding spurious 'nospec' wrapping. 2. Look through magic identity-like Ids such as 'nospec', 'inline' and 'lazy' in 'coreExprAsPmLit', just like Core Prep does. There might genuinely be incoherent evidence, but that shouldn't obstruct the pattern match checker. See test T27124a. Fixes #25926 #27124 ------------------------- Metric Decrease: T3294 ------------------------- - - - - - 37 changed files: - + changelog.d/T15973 - + changelog.d/T27121.md - + changelog.d/T27124.md - + changelog.d/simd_constant_folding - compiler/GHC/Cmm/Opt.hs - compiler/GHC/Core/Opt/FloatOut.hs - compiler/GHC/Core/Utils.hs - compiler/GHC/CoreToStg/Prep.hs - compiler/GHC/HsToCore/Pmc/Solver/Types.hs - compiler/GHC/Stg/Debug.hs - compiler/GHC/Tc/Errors.hs - compiler/GHC/Types/Tickish.hs - compiler/GHC/Utils/Misc.hs - libraries/ghc-heap/tests/tso_and_stack_closures.hs - + testsuite/tests/ghci/T9074/Makefile - + testsuite/tests/ghci/T9074/T9074.hs - + testsuite/tests/ghci/T9074/T9074.stdout - + testsuite/tests/ghci/T9074/T9074a.c - + testsuite/tests/ghci/T9074/T9074b.c - + testsuite/tests/ghci/T9074/all.T - + testsuite/tests/overloadedstrings/should_fail/T25926.hs - + testsuite/tests/overloadedstrings/should_fail/T25926.stderr - + testsuite/tests/overloadedstrings/should_fail/T27124.hs - + testsuite/tests/overloadedstrings/should_fail/T27124.stderr - + testsuite/tests/overloadedstrings/should_fail/all.T - + testsuite/tests/overloadedstrings/should_run/T27124a.hs - testsuite/tests/overloadedstrings/should_run/all.T - + testsuite/tests/profiling/should_compile/T27121.hs - + testsuite/tests/profiling/should_compile/T27121_aux.hs - testsuite/tests/profiling/should_compile/all.T - + testsuite/tests/simd/should_run/Makefile - + testsuite/tests/simd/should_run/T25030.hs - + testsuite/tests/simd/should_run/T25030.stdout - testsuite/tests/simd/should_run/all.T - + testsuite/tests/simplCore/should_compile/T26941.hs - + testsuite/tests/simplCore/should_compile/T26941_aux.hs - testsuite/tests/simplCore/should_compile/all.T The diff was not included because it is too large. View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/ebb924afee4165c2ded9b4ef0ae2cdc... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/ebb924afee4165c2ded9b4ef0ae2cdc... You're receiving this email because of your account on gitlab.haskell.org.
participants (1)
-
Marge Bot (@marge-bot)