Thu Nov 19 03:57:36 PST 2009  [email protected]
  * Fix a nasty infelicity in the size computation of CoreUnfold
  Ignore-this: ecff5289ab14c0df572135bf0b5179d6
  
  The size computation was treating gigantic case expressions as
  practically free, which they really aren't.  It was exacerbated by
  recent decisions to charge 0 for naked variables and constructors, so
  the RHS of the case might look free too.  A good example was 
  Foreign.C.Error.errnoToIOError, which hsa lots of join points
  that were getting inlined way to vigorously, so we had:
  
    *** Simplifier Phase 2 [main]:
        Result size = 2983
    *** Core Linted result of Simplifier mode 2 [main], iteration 1 out of 4:
        Result size = 640327
    *** Core Linted result of Simplifier mode 2 [main], iteration 2 out of 4:
        Result size = 1659
  
  Notice that gigantic intermediate!
  
  This patch adds a small charge for each *alternative*.  Of course,
  that'll also mean that there's a bit less inling of things involving
  case expressions.

    M ./compiler/coreSyn/CoreUnfold.lhs -1 +5

View patch online:
http://darcs.haskell.org/ghc/_darcs/patches/20091119115736-1287e-068f88a1ef20fd7ad61d85447d7465ddbae75d22.gz

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

Reply via email to