summaryrefslogtreecommitdiff
path: root/ghc/compiler/stranal/SaLib.lhs
diff options
context:
space:
mode:
authorkglynn <unknown>1999-04-13 08:55:54 +0000
committerkglynn <unknown>1999-04-13 08:55:54 +0000
commit30b5b5cceb167a87907d4cf122e77ce333fc5066 (patch)
treec31a4d9dab26e039f0309390692cbbb0f425caac /ghc/compiler/stranal/SaLib.lhs
parentf3270acfe8330c51e53f8566292af5ff9127cd26 (diff)
downloadhaskell-30b5b5cceb167a87907d4cf122e77ce333fc5066.tar.gz
[project @ 1999-04-13 08:55:33 by kglynn]
(keving) Big Bang introduction of CPR Analysis Pass. Note that now -fstrictness only does the strictness analysis phase, it is necessary to follow this with -fworker-wrapper to actually do the required Core transformations. The -O option in the ghc driver script has been modified appropriately. For now, CPR analysis is turned off. To try it, insert a -fcpr_analyse between the -fstrictness and the -fworker-wrapper options. Misc. comments: - The worker flag has been removed from an ID's StrictnessInfo field. Now the worker info is an extra field in the Id's prag info. - We do a nested CPR analysis, but worker-wrapper only looks at the info for the outermost constructor, else laziness can be lost. - Id's CPR Info in traces and interfaces file follows __M - Worker-wrappery transformation now accounts for both strictness and CPR analysis results.
Diffstat (limited to 'ghc/compiler/stranal/SaLib.lhs')
-rw-r--r--ghc/compiler/stranal/SaLib.lhs2
1 files changed, 1 insertions, 1 deletions
diff --git a/ghc/compiler/stranal/SaLib.lhs b/ghc/compiler/stranal/SaLib.lhs
index 9135e87ee3..1a057b6081 100644
--- a/ghc/compiler/stranal/SaLib.lhs
+++ b/ghc/compiler/stranal/SaLib.lhs
@@ -115,7 +115,7 @@ lookupAbsValEnv (AbsValEnv idenv) y
absValFromStrictness :: AnalysisKind -> StrictnessInfo -> AbsVal
absValFromStrictness anal NoStrictnessInfo = AbsTop
-absValFromStrictness anal (StrictnessInfo args_info bot_result _)
+absValFromStrictness anal (StrictnessInfo args_info bot_result)
= case args_info of -- Check the invariant that the arg list on
[] -> res -- AbsApproxFun is non-empty
_ -> AbsApproxFun args_info res