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

Reply via email to