[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