[commit: ghc] wip/tdammers/D4395-new: Discard reflexive casts during Simplify (6531dd3)

git at git.haskell.org git at git.haskell.org
Tue Apr 3 10:43:27 UTC 2018


Repository : ssh://git@git.haskell.org/ghc

On branch  : wip/tdammers/D4395-new
Link       : http://ghc.haskell.org/trac/ghc/changeset/6531dd38db014ac9b9325f4ae854bbd923cf8cf5/ghc

>---------------------------------------------------------------

commit 6531dd38db014ac9b9325f4ae854bbd923cf8cf5
Author: Richard Eisenberg <rae at cs.brynmawr.edu>
Date:   Fri Jan 26 22:42:46 2018 -0500

    Discard reflexive casts during Simplify
    
    Previously, we went to great lengths to build just the right
    reflexive casts, only to discard them shortly later. Now, just
    skip creating reflexive casts altogether.
    
    Details discussed in https://ghc.haskell.org/trac/ghc/ticket/11735
    
    This should theoretically improve performance, or at least set the stage
    for more efficient handling of coercions. Profiling shows that
    performance does not actually improve, because we are now spending a
    lot of time in simplCast; however, the improved code structure is still
    good to have, and the change does not make performance worse either.
    
    As a starting point for profiling, the Grammar.hs example from #11735
    can be used:
    
    https://ghc.haskell.org/trac/ghc/attachment/ticket/14683/Grammar.hs
    
    On the test system, compilation times for both GHC HEAD and GHC HEAD
    with this patch applied are around 20 seconds for this input file.
    
    Further performance improvements to be handled in future patches and
    tickets.


>---------------------------------------------------------------

6531dd38db014ac9b9325f4ae854bbd923cf8cf5
 compiler/coreSyn/CoreOpt.hs    | 48 +++++++++++++----------
 compiler/simplCore/Simplify.hs | 89 +++++++++++++++++++++++-------------------
 2 files changed, 76 insertions(+), 61 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 6531dd38db014ac9b9325f4ae854bbd923cf8cf5


More information about the ghc-commits mailing list