patch applied (ghc-7.0/ghc): Do not (ever) use substExprSC in the simplifier

Ian Lynagh igloo at earth.li
Wed Oct 27 09:11:53 EDT 2010


Mon Oct 25 08:26:22 PDT 2010  simonpj at microsoft.com
  * Do not (ever) use substExprSC in the simplifier
  
  "Short-cut" substitution means "do nothing if the substitution
  is empty". We *never* want do to that in the simplifier because
  even though the substitution is empty, the in-scope set has
  useful information:
  
   * We get up-to-date unfoldings; and that in turn may
     reduce the number of iterations of the simplifier
  
   * We avoid space leaks, because failing to substitute may
     hang on to old Ids from a previous iteration
  
  (This is what was causing the late inlining of foo in
  Trac #4428.)

    M ./compiler/coreSyn/CoreSubst.lhs -6 +8
    M ./compiler/simplCore/SimplEnv.lhs -8 +16

View patch online:
http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=ghc-7.0/ghc;a=darcs_commitdiff;h=20101025152622-1287e-2904e62f96b6bbe7eb79b955f2a456dc47cf34c3.gz



More information about the Cvs-ghc mailing list