From 57a11b6b1560872e52d96d82776f2dd40b9dcf75 Mon Sep 17 00:00:00 2001 From: sof Date: Tue, 9 Sep 1997 17:57:07 +0000 Subject: [PATCH] [project @ 1997-09-09 17:57:07 by sof] import update; --- ghc/compiler/simplCore/SimplEnv.lhs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/ghc/compiler/simplCore/SimplEnv.lhs b/ghc/compiler/simplCore/SimplEnv.lhs index 68453bc..b184682 100644 --- a/ghc/compiler/simplCore/SimplEnv.lhs +++ b/ghc/compiler/simplCore/SimplEnv.lhs @@ -50,14 +50,15 @@ IMP_Ubiq(){-uitous-} IMPORT_DELOOPER(SmplLoop) -- breaks the MagicUFs / SimplEnv loop #endif -import BinderInfo ( orBinderInfo, andBinderInfo, noBinderInfo, - BinderInfo(..){-instances, too-}, FunOrArg, DuplicationDanger, InsideSCC +import BinderInfo ( orBinderInfo, andBinderInfo, noBinderInfo, isOneOcc, + okToInline, + BinderInfo {-instances, too-} ) import CmdLineOpts ( switchIsOn, intSwitchSet, opt_UnfoldingCreationThreshold, SimplifierSwitch(..), SwitchResult(..) ) import CoreSyn -import CoreUnfold ( mkFormSummary, okToInline, couldBeSmallEnoughToInline, +import CoreUnfold ( mkFormSummary, couldBeSmallEnoughToInline, whnfOrBottom, Unfolding(..), UfExpr, RdrName, SimpleUnfolding(..), FormSummary(..), calcUnfoldingGuidance, UnfoldingGuidance(..) @@ -602,7 +603,9 @@ extendEnvGivenBinding env@(SimplEnv chkr encl_cc ty_env in_id_env out_id_env con occ_info out_id rhs = SimplEnv chkr encl_cc ty_env in_id_env new_out_id_env new_con_apps where - new_out_id_env | okToInline form occ_info (couldBeSmallEnoughToInline guidance) + new_out_id_env | okToInline (whnfOrBottom form) + (couldBeSmallEnoughToInline guidance) + occ_info = out_id_env_with_unfolding | otherwise = out_id_env @@ -647,8 +650,8 @@ extendEnvGivenBinding env@(SimplEnv chkr encl_cc ty_env in_id_env out_id_env con is_interesting v = _scc_ "eegnr.mkidset" case lookupIdEnv out_id_env v of - Just (_, OneOcc _ _ _ _ _, _) -> True - other -> False + Just (_, occ, _) -> isOneOcc occ + other -> False -- Compute unfolding details rhs_info = OutUnfolding unf_cc (SimpleUnfolding form guidance template) -- 1.7.10.4