Wed Jan 26 09:21:12 PST 2011 [email protected]
* Fix dependencies among specialisations for imported Ids
This was a subtle one (Trac #4903). See
Note [Glom the bindings if imported functions are specialised]
in Speclialise.
Fundamentally, a specialised binding for an imported Id was being
declared non-recursive, whereas in fact it can become recursive
via a RULE. Once it's specified non-recurive the OccAnal pass
treats that as gospel -- and that in turn led to infinite inlining.
Easily fixed by glomming all the specialised bindings in a Rec;
now the OccAnal will sort them out correctly.
M ./compiler/specialise/Specialise.lhs -13 +57
View patch online:
http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=ghc;a=darcs_commitdiff;h=20110126172112-1287e-67b5e4c5097f16de8df699ba511d0fe178b466da.gz
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc