Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master
http://hackage.haskell.org/trac/ghc/changeset/83d9b3805d271dc361d48187957498b3138ae62a >--------------------------------------------------------------- commit 83d9b3805d271dc361d48187957498b3138ae62a Author: Max Bolingbroke <[email protected]> Date: Fri Mar 30 17:21:45 2012 +0100 Attempt to detect loops through imported function RULEs This is motivated by the fact that before this change marking e.g. GHC.List.filter as INLINABLE caused the compiler to diverge when you tried to make use of the function. The response is to say that a RULE on an imported function introduces a dependency edge between the FVs of its LHS and RHS for the purposes of computing loop breakers. This will not perfectly prevent all those potential inlinings that could cause the compiler to non-terminate, but it works well enough for the particular case we are interested in. compiler/simplCore/OccurAnal.lhs | 111 ++++++++++++++++++++++++++++++++++--- 1 files changed, 102 insertions(+), 9 deletions(-) Diff suppressed because of size. To see it, use: git show 83d9b3805d271dc361d48187957498b3138ae62a _______________________________________________ Cvs-ghc mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-ghc
