Take 2 on the recursive-rule fix
authorsimonpj@microsoft.com <unknown>
Thu, 5 Oct 2006 12:10:23 +0000 (12:10 +0000)
committersimonpj@microsoft.com <unknown>
Thu, 5 Oct 2006 12:10:23 +0000 (12:10 +0000)
commit805edf6e400001f6e11b4721b285ecd51e0c2445
tree0d1e36d19249e63c51bdfa98429d13872b220849
parente9a9344b93aa3d367f2268f3e660efeec5a5232b
Take 2 on the recursive-rule fix

This is another attempt to fix the interaction between recursion and
RULES.  I just had it wrong before!  Now the significance of the
flag on IAmALoopBreaker is given in BasicTypes

  | IAmALoopBreaker -- Used by the occurrence analyser to mark loop-breakers
-- in a group of recursive definitions
!RulesOnly -- True <=> This loop breaker mentions the other binders
--     in its recursive group only in its RULES, not
--     in its rhs
--  See OccurAnal Note [RulesOnly]
compiler/basicTypes/BasicTypes.lhs
compiler/coreSyn/CoreUnfold.lhs
compiler/simplCore/OccurAnal.lhs