X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FcoreSyn%2FCoreUnfold.lhs;h=7aec06e516423af4fa2ee86e3cb8cc8f5ae6d5bc;hb=0596517a9b4b2b32e5d375a986351102ac4540fc;hp=908c83270561986b4ce50f50ff3ad388a467c9c0;hpb=6c381e873e222417d9a67aeec77b9555eca7b7a8;p=ghc-hetmet.git diff --git a/ghc/compiler/coreSyn/CoreUnfold.lhs b/ghc/compiler/coreSyn/CoreUnfold.lhs index 908c832..7aec06e 100644 --- a/ghc/compiler/coreSyn/CoreUnfold.lhs +++ b/ghc/compiler/coreSyn/CoreUnfold.lhs @@ -248,7 +248,7 @@ calcUnfoldingGuidance calcUnfoldingGuidance scc_s_OK bOMB_OUT_SIZE expr = let - (use_binders, ty_binders, val_binders, body) = digForLambdas expr + (use_binders, ty_binders, val_binders, body) = collectBinders expr in case (sizeExpr scc_s_OK bOMB_OUT_SIZE val_binders body) of @@ -292,7 +292,7 @@ sizeExpr scc_s_OK bOMB_OUT_SIZE args expr = if scc_s_OK then size_up body else Nothing size_up (Con con args) = -- 1 + # of val args - sizeN (1 + length [ va | va <- args, isValArg va ]) + sizeN (1 + numValArgs args) size_up (Prim op args) = sizeN op_cost -- NB: no charge for PrimOp args where op_cost = if primOpCanTriggerGC op @@ -303,7 +303,7 @@ sizeExpr scc_s_OK bOMB_OUT_SIZE args expr size_up expr@(Lam _ _) = let - (uvars, tyvars, args, body) = digForLambdas expr + (uvars, tyvars, args, body) = collectBinders expr in size_up body `addSizeN` length args @@ -528,7 +528,7 @@ ment_expr (Lit l) = consider_lit l ment_expr expr@(Lam _ _) = let - (uvars, tyvars, args, body) = digForLambdas expr + (uvars, tyvars, args, body) = collectBinders expr in extractIdsUf args `thenUf` \ bs_ids -> addInScopesUf bs_ids (