diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2017-03-03 16:10:06 +0000 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2017-03-06 13:29:27 +0000 |
commit | fb9ae288088a3eabc4e1bb4e86fa473a3881d2e2 (patch) | |
tree | 5b1bb03ad8ed94a5a77efdc420bac2d89185b5ec /libraries/ghc-compact | |
parent | 995ab74b3c55fe3a0299bd94b49e948c942e76d6 (diff) | |
download | haskell-fb9ae288088a3eabc4e1bb4e86fa473a3881d2e2.tar.gz |
Make FloatOut/SetLevels idemoptent on bottoming functions
This fixes Trac #13369. It turned out that I really had got the
bottoming-float code wrong, again. The new story is explained in
Note [Bottoming floats], esp item (3), and Note [Floating from a RHS].
I didn't make a regression test; it's hard to to so.
Nofib result are good
--------------------------------------------------------------------------------
Program Size Allocs Runtime Elapsed TotalMem
--------------------------------------------------------------------------------
banner -2.2% -4.6% 0.00 0.00 +0.0%
bspt -1.3% -1.6% 0.01 0.01 +0.0%
cacheprof -1.8% -0.3% +3.7% +3.7% -0.9%
digits-of-e2 -1.0% -1.5% -0.5% -0.5% +0.0%
expert -1.3% -0.2% 0.00 0.00 +0.0%
n-body -1.1% -0.2% +0.1% +0.1% +0.0%
veritas -2.9% -0.1% 0.00 0.00 +0.0%
--------------------------------------------------------------------------------
Min -2.9% -4.6% -7.4% -7.4% -19.8%
Max -1.0% +0.0% +5.2% +5.1% +10.0%
Geometric Mean -1.2% -0.1% +0.5% +0.5% -0.1%
I /think/ all this is due to this error-floating change; but it's possible
that some was due to commit "Fix CSE (again) on literal strings" a couple
of commits earlier.
Diffstat (limited to 'libraries/ghc-compact')
0 files changed, 0 insertions, 0 deletions