diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2022-11-22 12:34:38 +0000 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2022-12-01 08:35:47 +0000 |
commit | a490b299d9d43303dc49c2df04dfc72a3915fd2c (patch) | |
tree | 9b026f8bf66bbec0624835b291d32853e299453b /compiler/GHC/Core/Reduction.hs | |
parent | b4cfa8e235715d8c73b2ba0ba05ed8ef92629218 (diff) | |
download | haskell-wip/T22491.tar.gz |
Add a missing varToCoreExpr in etaBodyForJoinPointwip/T22491
This subtle bug showed up when compiling a library with 9.4.
See #22491. The bug is present in master, but it is hard to
trigger; the new regression test T22491 fails in 9.4.
The fix was easy: just add a missing varToCoreExpr in
etaBodyForJoinPoint.
The fix is definitely right though!
I also did some other minor refatoring:
* Moved the preInlineUnconditionally test in simplExprF1 to
before the call to joinPointBinding_maybe, to avoid fruitless
eta-expansion.
* Added a boolean from_lam flag to simplNonRecE, to avoid two
fruitless tests, and commented it a bit better.
These refactorings seem to save 0.1% on compile-time allocation in
perf/compiler; with a max saving of 1.4% in T9961
Metric Decrease:
T9961
Diffstat (limited to 'compiler/GHC/Core/Reduction.hs')
0 files changed, 0 insertions, 0 deletions