Mon Oct 25 08:26:22 PDT 2010 [email protected]
* 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;a=darcs_commitdiff;h=20101025152622-1287e-2904e62f96b6bbe7eb79b955f2a456dc47cf34c3.gz
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc