X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Fstranal%2FStrictAnal.lhs;h=5013b29392348ed3e439eb41d1108001bdc66aca;hb=1fb1ab5d53a09607e7f6d2450806760688396387;hp=9f38eadd09071c090a4f7e8a7a33c96f83709a3c;hpb=7a3bd641457666e10d0a47be9f22762e03defbf0;p=ghc-hetmet.git diff --git a/ghc/compiler/stranal/StrictAnal.lhs b/ghc/compiler/stranal/StrictAnal.lhs index 9f38ead..5013b29 100644 --- a/ghc/compiler/stranal/StrictAnal.lhs +++ b/ghc/compiler/stranal/StrictAnal.lhs @@ -27,7 +27,7 @@ import IdInfo ( mkStrictnessInfo, mkBottomStrictnessInfo, import PprCore ( pprCoreBinding, pprBigCoreBinder ) import PprStyle ( PprStyle(..) ) import PprType ( GenType{-instance Outputable-}, GenTyVar{-ditto-} ) -import Pretty ( ppBesides, ppStr, ppInt, ppChar, ppAboves ) +import Pretty ( ppBesides, ppPStr, ppInt, ppChar, ppAboves ) import SaAbsInt import SaLib import TyVar ( GenTyVar{-instance Eq-} ) @@ -123,9 +123,9 @@ saWwTopBinds us binds where pp_stats (SaStats tlam dlam tc dc tlet dlet) = pprTrace "Binders marked demanded: " - (ppBesides [ppStr "Lambda vars: ", ppInt IBOX(dlam), ppChar '/', ppInt IBOX(tlam), - ppStr "; Case vars: ", ppInt IBOX(dc), ppChar '/', ppInt IBOX(tc), - ppStr "; Let vars: ", ppInt IBOX(dlet), ppChar '/', ppInt IBOX(tlet) + (ppBesides [ppPStr SLIT("Lambda vars: "), ppInt IBOX(dlam), ppChar '/', ppInt IBOX(tlam), + ppPStr SLIT("; Case vars: "), ppInt IBOX(dc), ppChar '/', ppInt IBOX(tc), + ppPStr SLIT("; Let vars: "), ppInt IBOX(dlet), ppChar '/', ppInt IBOX(tlet) ]) #endif \end{code} @@ -408,13 +408,13 @@ addStrictnessInfoToId strflags str_val abs_val binder body = binder `addIdStrictness` mkBottomStrictnessInfo | otherwise - = case (collectBinders body) of { (_, _, lambda_bounds, rhs) -> - let - tys = map idType lambda_bounds - strictness = findStrictness strflags tys str_val abs_val - in - binder `addIdStrictness` mkStrictnessInfo strictness Nothing - } + = case (collectBinders body) of + (_, _, [], rhs) -> binder + (_, _, lambda_bounds, rhs) -> binder `addIdStrictness` + mkStrictnessInfo strictness Nothing + where + tys = map idType lambda_bounds + strictness = findStrictness strflags tys str_val abs_val \end{code} \begin{code}