diff options
author | Joachim Breitner <mail@joachim-breitner.de> | 2014-01-21 13:59:51 +0000 |
---|---|---|
committer | Joachim Breitner <breitner@kit.edu> | 2014-02-04 19:08:14 +0100 |
commit | dc388b4feb5f3e5c1317210627dfad13315dbcb6 (patch) | |
tree | e9e939f47c90539c21c786f852a5940cc004fa36 | |
parent | 161d0ceaf07bb7ebf979f1879c033baf0f41d04f (diff) | |
download | haskell-dc388b4feb5f3e5c1317210627dfad13315dbcb6.tar.gz |
More tracing in the demand analyser
-rw-r--r-- | compiler/stranal/DmdAnal.lhs | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index d25999e785..9e9def0d97 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -188,8 +188,14 @@ dmdAnal env dmd (Lam var body) env' = extendSigsWithLam env var (body_ty, body') = dmdAnal env' body_dmd body (lam_ty, var') = annotateLamIdBndr env notArgOfDfun body_ty one_shot var + lam_ty' = postProcessUnsat defer_and_use lam_ty in - (postProcessUnsat defer_and_use lam_ty, Lam var' body') + -- pprTrace "dmdAnal:Lam" (vcat [ text "dmd" <+> ppr dmd + -- , text "body_ty" <+> ppr body_ty + -- , text "lam_ty" <+> ppr lam_ty + -- , text "lam_ty'" <+> ppr lam_ty' + -- ]) $ + (lam_ty', Lam var' body') dmdAnal env dmd (Case scrut case_bndr ty [alt@(DataAlt dc, bndrs, _)]) -- Only one alternative with a product constructor, and a complex scrutinee @@ -337,6 +343,9 @@ dmdAnal env dmd (Let (Rec pairs) body) body_ty1 = deleteFVs body_ty (map fst pairs) body_ty2 = addLazyFVs body_ty1 lazy_fv in + -- pprTrace "dmdAnal:LetRec" (vcat [ text "body_ty" <+> ppr body_ty + -- , text "body_ty1" <+> ppr body_ty1 + -- , text "body_ty2" <+> ppr body_ty2]) $ body_ty2 `seq` (body_ty2, Let (Rec pairs') body') @@ -389,7 +398,10 @@ dmdAnalAlt env dmd (con,bndrs,rhs) io_hack_reqd = con == DataAlt unboxedPairDataCon && idType (head bndrs) `eqType` realWorldStatePrimTy - in + in + -- pprTrace "dmdAnalAlt" (vcat [ text "rhs_ty" <+> ppr rhs_ty + -- , text "alt_ty" <+> ppr alt_ty + -- ]) $ (final_alt_ty, (con, bndrs', rhs')) \end{code} |