diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2021-06-02 00:35:22 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-06-10 02:38:19 -0400 |
commit | f4a5e30e7b027894535872164df50c300d8e6b0f (patch) | |
tree | b213dc12c444d4c3e4e33da4a5d9f9311aeba071 /ghc.mk | |
parent | d69067a1b920f1122f55dd9caa39cf9ed9ba1d9b (diff) | |
download | haskell-f4a5e30e7b027894535872164df50c300d8e6b0f.tar.gz |
Do not add unfoldings to lambda-binders
For reasons described in GHC.Core.Opt.Simplify
Historical Note [Case binders and join points],
we used to keep a Core unfolding in one of the lambda-binders
for a join point. But this was always a gross hack -- it's
very odd to have an unfolding in a lambda binder, that refers to
earlier lambda binders.
The hack bit us in various ways:
* Most seriously, it is incompatible with linear types in Core.
* It complicated demand analysis, and could worsen results
* It required extra care in the simplifier (simplLamBinder)
* It complicated !5641 (look for "join binder unfoldings")
So this patch just removes the hack. Happily, doind so turned out to
have no effect on performance.
Diffstat (limited to 'ghc.mk')
0 files changed, 0 insertions, 0 deletions