[commit: ghc] master: Make FloatOut/SetLevels idemoptent on bottoming functions (fb9ae28)
git at git.haskell.org
git at git.haskell.org
Mon Mar 6 15:20:55 UTC 2017
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/fb9ae288088a3eabc4e1bb4e86fa473a3881d2e2/ghc
>---------------------------------------------------------------
commit fb9ae288088a3eabc4e1bb4e86fa473a3881d2e2
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Fri Mar 3 16:10:06 2017 +0000
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.
>---------------------------------------------------------------
fb9ae288088a3eabc4e1bb4e86fa473a3881d2e2
compiler/simplCore/SetLevels.hs | 166 +++++++++++++--------
.../tests/simplCore/should_compile/T13143.stderr | 27 ++--
2 files changed, 117 insertions(+), 76 deletions(-)
Diff suppressed because of size. To see it, use:
git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc fb9ae288088a3eabc4e1bb4e86fa473a3881d2e2
More information about the ghc-commits
mailing list