X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2FcoreSyn%2FPprCore.lhs;h=950e37bc84cc049f5774f70e726cb28e80866798;hp=3bdb79c3314e522f3e8a1e4f3b049307769dedc8;hb=2662dbc5b2c30fc11ccb99e7f9b2dba794d680ba;hpb=a263737bbf44050a7b5ecbe267ddf85d410b73e5 diff --git a/compiler/coreSyn/PprCore.lhs b/compiler/coreSyn/PprCore.lhs index 3bdb79c..950e37b 100644 --- a/compiler/coreSyn/PprCore.lhs +++ b/compiler/coreSyn/PprCore.lhs @@ -17,12 +17,7 @@ import CostCentre import Var import Id import IdInfo -import NewDemand -#ifdef OLD_STRICTNESS -import Id -import IdInfo -#endif - +import Demand import DataCon import TyCon import Type @@ -123,7 +118,7 @@ ppr_expr add_par (Cast expr co) where pprCo co | opt_SuppressCoercions = ptext (sLit "...") | otherwise = parens - $ sep [ppr co, dcolon <+> ppr (coercionKindPredTy co)] + $ sep [ppr co, dcolon <+> pprEqPred (coercionKind co)] ppr_expr add_par expr@(Lam _ _) @@ -269,9 +264,6 @@ pprCoreBinder LambdaBind bndr -- Case bound things don't get a signature or a herald, unless we have debug on pprCoreBinder CaseBind bndr - | isDeadBinder bndr -- False for tyvars - = ptext (sLit "_") - | otherwise = getPprStyle $ \ sty -> if debugStyle sty then parens (pprTypedBinder bndr) @@ -311,7 +303,7 @@ pprIdBndrInfo info where prag_info = inlinePragInfo info occ_info = occInfo info - dmd_info = newDemandInfo info + dmd_info = demandInfo info lbv_info = lbvarInfo info has_prag = not (isDefaultInlinePragma prag_info) @@ -339,7 +331,7 @@ ppIdInfo id info [ (True, pp_scope <> ppr (idDetails id)) , (has_arity, ptext (sLit "Arity=") <> int arity) , (has_caf_info, ptext (sLit "Caf=") <> ppr caf_info) - , (has_strictness, ptext (sLit "Str=") <> pprNewStrictness str_info) + , (has_strictness, ptext (sLit "Str=") <> pprStrictness str_info) , (has_unf, ptext (sLit "Unf=") <> ppr unf_info) , (not (null rules), ptext (sLit "RULES:") <+> vcat (map pprRule rules)) ] -- Inline pragma, occ, demand, lbvar info @@ -356,7 +348,7 @@ ppIdInfo id info caf_info = cafInfo info has_caf_info = not (mayHaveCafRefs caf_info) - str_info = newStrictnessInfo info + str_info = strictnessInfo info has_strictness = isJust str_info unf_info = unfoldingInfo info @@ -407,19 +399,22 @@ instance Outputable Unfolding where , uf_expandable=exp, uf_guidance=g, uf_arity=arity}) = ptext (sLit "Unf") <> braces (pp_info $$ pp_rhs) where - pp_info = hsep [ ptext (sLit "TopLvl=") <> ppr top - , ptext (sLit "Arity=") <> int arity - , ptext (sLit "Value=") <> ppr hnf - , ptext (sLit "ConLike=") <> ppr conlike - , ptext (sLit "Cheap=") <> ppr cheap - , ptext (sLit "Expandable=") <> ppr exp - , ppr g ] + pp_info = fsep $ punctuate comma + [ ptext (sLit "TopLvl=") <> ppr top + , ptext (sLit "Arity=") <> int arity + , ptext (sLit "Value=") <> ppr hnf + , ptext (sLit "ConLike=") <> ppr conlike + , ptext (sLit "Cheap=") <> ppr cheap + , ptext (sLit "Expandable=") <> ppr exp + , ptext (sLit "Guidance=") <> ppr g ] + pp_tmpl = ptext (sLit "Tmpl=") <+> ppr rhs pp_rhs = case g of UnfoldNever -> usually_empty UnfoldIfGoodArgs {} -> usually_empty - _other -> ppr rhs - usually_empty = ifPprDebug (ppr rhs) - -- In this case show 'rhs' only in debug mode + _other -> pp_tmpl + usually_empty = ifPprDebug (ptext (sLit "")) + -- Don't print the RHS or we get a quadratic + -- blowup in the size of the printout! \end{code} -----------------------------------------------------