From 7739836e374122a93d3af924d67cf93f8e237baf Mon Sep 17 00:00:00 2001 From: "simonpj@microsoft.com" Date: Thu, 4 May 2006 11:14:29 +0000 Subject: [PATCH] Pretty printing instance for Unfolding --- compiler/coreSyn/CoreUnfold.lhs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/compiler/coreSyn/CoreUnfold.lhs b/compiler/coreSyn/CoreUnfold.lhs index d57f188..e50f304 100644 --- a/compiler/coreSyn/CoreUnfold.lhs +++ b/compiler/coreSyn/CoreUnfold.lhs @@ -36,7 +36,7 @@ import StaticFlags ( opt_UF_CreationThreshold, opt_UF_UseThreshold, ) import DynFlags ( DynFlags, DynFlag(..), dopt ) import CoreSyn -import PprCore ( pprCoreExpr ) +import PprCore () -- Instances import OccurAnal ( occurAnalyseExpr ) import CoreUtils ( exprIsHNF, exprIsCheap, exprIsTrivial ) import Id ( Id, idType, isId, @@ -87,6 +87,14 @@ mkUnfolding top_lvl expr -- This can occasionally mean that the guidance is very pessimistic; -- it gets fixed up next round +instance Outputable Unfolding where + ppr NoUnfolding = ptext SLIT("No unfolding") + ppr (OtherCon cs) = ptext SLIT("OtherCon") <+> ppr cs + ppr (CompulsoryUnfolding e) = ptext SLIT("Compulsory") <+> ppr e + ppr (CoreUnfolding e top hnf cheap g) + = ptext SLIT("Unf") <+> sep [ppr top <+> ppr hnf <+> ppr cheap <+> ppr g, + ppr e] + mkCompulsoryUnfolding expr -- Used for things that absolutely must be unfolded = CompulsoryUnfolding (occurAnalyseExpr expr) \end{code} -- 1.7.10.4