diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2017-02-07 00:32:43 +0000 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2017-02-08 11:33:32 +0000 |
commit | 8e9593fb2147252ecb8b685ef6bf9c0237a71219 (patch) | |
tree | c7c1e4242792b5c668193736eaad1df2ce762739 /compiler/codeGen/StgCmm.hs | |
parent | b990f656091cb6c960fb21f05791acf38a19abc1 (diff) | |
download | haskell-8e9593fb2147252ecb8b685ef6bf9c0237a71219.tar.gz |
Improve the simple optimiser
The previous version of the simple optimiser would leave
beta-redexes, which was bad for join points. E.g.
join j x = .... -- a join point
in (\x. j x) y
This would be ok if we beta-reduced the (\x) but not if
we don't.
This patch improves the simple optimiser, to follow the plan
described in "Secrets of the GHC inliner", and implemented in
the Mighty Simplifier. It turns out not to be too hard to
use the same plan here, and we get slightly better code as
a result.
Diffstat (limited to 'compiler/codeGen/StgCmm.hs')
0 files changed, 0 insertions, 0 deletions