[commit: ghc] master: Improve the simple optimiser (8e9593f)
git at git.haskell.org
git at git.haskell.org
Wed Feb 8 13:13:01 UTC 2017
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/8e9593fb2147252ecb8b685ef6bf9c0237a71219/ghc
>---------------------------------------------------------------
commit 8e9593fb2147252ecb8b685ef6bf9c0237a71219
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Tue Feb 7 00:32:43 2017 +0000
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.
>---------------------------------------------------------------
8e9593fb2147252ecb8b685ef6bf9c0237a71219
compiler/coreSyn/CoreSubst.hs | 562 +++++++++++++++++++++++++++---------------
1 file changed, 364 insertions(+), 198 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 8e9593fb2147252ecb8b685ef6bf9c0237a71219
More information about the ghc-commits
mailing list