[commit: ghc] wip/tdammers/D4395-new: Simplify simplCast (aa8ea83)

git at git.haskell.org git at git.haskell.org
Thu Apr 5 10:08:12 UTC 2018


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

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

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

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

    Simplify simplCast
    
    Trac Trac #14735 (derived from Trac #11735) found that 75% of compile
    time was being spent in simplCast. This patch is the first in a series
    to deal with that problem.
    
    This particular patch actually has very little effect on performance; it
    just refactors simplCast so that it builds Refl coercions less often.
    Refl coercions require us to compute the type to put inside them, and
    even if that's done lazily it is still work and code. Instead we use
    Maybe Coercion with Nothing for Refl. This change also percolates to
    pushCoTyArg and pushValArg.


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

aa8ea83e445ad105a593f7d8004631404dea21c9
 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 aa8ea83e445ad105a593f7d8004631404dea21c9


More information about the ghc-commits mailing list