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

Reply via email to