[project @ 1999-10-05 09:04:30 by kglynn]
authorkglynn <unknown>
Tue, 5 Oct 1999 09:04:30 +0000 (09:04 +0000)
committerkglynn <unknown>
Tue, 5 Oct 1999 09:04:30 +0000 (09:04 +0000)
commitc380ee7955d1346b10964972979be09ae242d731
tree52c31f90d790ca7742a73d22829ed85eda8e2107
parent34df35343c166dea72507b5d626d7ca792d436c9
[project @ 1999-10-05 09:04:30 by kglynn]
(keving)

Much simplified and beautified CPR analysis code.  (And also much
shorter, we'd better write this up before it disappears).

Added (constant) functions to the abstract domain. Note that
Fun^n Bot (n >= 1) == Bot and likewise for Top

Treats divergent computations as Bot (rather than Top as previous) so
non-divergent paths dominate which allows us to generate more accurate
CPR info (see e.g. chr).

We use the result of strictness analysis to tell us if an Id is
divergent (when applied to sufficient args), therefore we should run
after the strictness analysis pass.
ghc/compiler/cprAnalysis/CprAnalyse.lhs