diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2011-10-28 20:32:26 +0100 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2013-01-17 17:10:21 +0000 |
commit | b4e86fa8b7a3c7527632aa8ba4b4a94a8719bfa5 (patch) | |
tree | f9742b7ec858941a7dc4054872ae226724a15617 /compiler/specialise | |
parent | 81f4cd3e08996d35b3a70dfee4d70a829f2f2622 (diff) | |
download | haskell-b4e86fa8b7a3c7527632aa8ba4b4a94a8719bfa5.tar.gz |
Minor impovement to when we float a let out of
a right-hand side:
Note [Float when cheap or expandable]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
We want to float a let from a let if the residual RHS is
a) cheap, such as (\x. blah)
b) expandable, such as (f b) if f is CONLIKE
But there are
- cheap things that are not expandable (eg \x. expensive)
- expandable things that are not cheap (eg (f b) where b is CONLIKE)
so we must take the 'or' of the two.
Diffstat (limited to 'compiler/specialise')
0 files changed, 0 insertions, 0 deletions