diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2021-06-02 00:35:22 +0100 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2021-06-09 00:23:25 +0100 |
commit | 145916b1f37297d79581e5f188e5f707895bcd1c (patch) | |
tree | e7c3d5f8a654894f32b5627261733e05d9a04700 /compiler/GHC/Cmm/Parser.y | |
parent | 378c0bba7d132a89dd9c35374b7b4bb5a4730bf7 (diff) | |
download | haskell-145916b1f37297d79581e5f188e5f707895bcd1c.tar.gz |
Do not add unfoldings to lambda-binderswip/T17530
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 'compiler/GHC/Cmm/Parser.y')
0 files changed, 0 insertions, 0 deletions