Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/29edeadbc7d974232f67cdc4fd05283b35721ae0

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

commit 29edeadbc7d974232f67cdc4fd05283b35721ae0
Author: Simon Peyton Jones <[email protected]>
Date:   Mon Jul 25 09:33:09 2011 +0100

    Re-engineer exprIsConApp_maybe (fixes Trac #5327)
    
    The problem with #5327 was like this:
        let x = I# 0 `cast` co1
        in ...(case x `cast` co2 of I# y -> blah)...
    
    The two casts cancelled out, but exprIsConApp_maybe couldn't see
    that.  This patch makes it simpler, faster, and more effective.
    
    (Incidentally, usually 'x' would be inlined, in #5327 it wasn't
    because of an INLINEABLE pragma and the lone-variable thing.
    Instead of fiddling with alrady-delicate code, I just made
    exprIsConApp_maybe better.)

 compiler/coreSyn/CoreUnfold.lhs |  153 +++++++++++++++++++--------------------
 1 files changed, 76 insertions(+), 77 deletions(-)


Diff suppressed because of size. To see it, use:

    git show 29edeadbc7d974232f67cdc4fd05283b35721ae0

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to