summaryrefslogtreecommitdiff
path: root/compiler/GHC/Cmm/Parser.y
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2021-06-02 00:35:22 +0100
committerSimon Peyton Jones <simonpj@microsoft.com>2021-06-09 00:23:25 +0100
commit145916b1f37297d79581e5f188e5f707895bcd1c (patch)
treee7c3d5f8a654894f32b5627261733e05d9a04700 /compiler/GHC/Cmm/Parser.y
parent378c0bba7d132a89dd9c35374b7b4bb5a4730bf7 (diff)
downloadhaskell-wip/T17530.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