summaryrefslogtreecommitdiff
path: root/config.guess
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2022-08-25 15:54:51 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-10-11 12:49:21 -0400
commitcaced75765472a1a94453f2e5a439dba0d04a265 (patch)
treed83c65272aeb12d7f330bd9cdf77b0db1180a9ad /config.guess
parent9789ea8e9f35d5c0674e10730c3435c4d3293f2b (diff)
downloadhaskell-caced75765472a1a94453f2e5a439dba0d04a265.tar.gz
Don't keep exit join points so much
We were religiously keeping exit join points throughout, which had some bad effects (#21148, #22084). This MR does two things: * Arranges that exit join points are inhibited from inlining only in /one/ Simplifier pass (right after Exitification). See Note [Be selective about not-inlining exit join points] in GHC.Core.Opt.Exitify It's not a big deal, but it shaves 0.1% off compile times. * Inline used-once non-recursive join points very aggressively Given join j x = rhs in joinrec k y = ....j x.... where this is the only occurrence of `j`, we want to inline `j`. (Unless sm_keep_exits is on.) See Note [Inline used-once non-recursive join points] in GHC.Core.Opt.Simplify.Utils This is just a tidy-up really. It doesn't change allocation, but getting rid of a binding is always good. Very effect on nofib -- some up and down.
Diffstat (limited to 'config.guess')
0 files changed, 0 insertions, 0 deletions