From a88cde3915095d33b283cbbf7fd83cd08558d609 Mon Sep 17 00:00:00 2001 From: simonpj Date: Thu, 22 Nov 2001 12:22:42 +0000 Subject: [PATCH] [project @ 2001-11-22 12:22:42 by simonpj] Inlining pragma buglet --- ghc/compiler/simplCore/SimplMonad.lhs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ghc/compiler/simplCore/SimplMonad.lhs b/ghc/compiler/simplCore/SimplMonad.lhs index cfd606d..deae477 100644 --- a/ghc/compiler/simplCore/SimplMonad.lhs +++ b/ghc/compiler/simplCore/SimplMonad.lhs @@ -868,7 +868,7 @@ gentle we are being. activeInline :: SimplEnv -> OutId -> OccInfo -> Bool activeInline env id occ = case getMode env of - SimplGently -> isOneOcc occ + SimplGently -> isAlwaysActive prag && isOneOcc occ -- No inlining at all when doing gentle stuff, -- except for things that occur once -- The reason is that too little clean-up happens if you @@ -884,7 +884,9 @@ activeInline env id occ -- and they are now constructed as Compulsory unfoldings (in MkId) -- so they'll happen anyway. - SimplPhase n -> isActive n (idInlinePragma id) + SimplPhase n -> isActive n prag + where + prag = idInlinePragma id -- Belongs in BasicTypes; this frag occurs in OccurAnal too isOneOcc (OneOcc _ _) = True -- 1.7.10.4