From: simonpj Date: Thu, 22 Nov 2001 12:22:42 +0000 (+0000) Subject: [project @ 2001-11-22 12:22:42 by simonpj] X-Git-Tag: Approximately_9120_patches~547 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=a88cde3915095d33b283cbbf7fd83cd08558d609;p=ghc-hetmet.git [project @ 2001-11-22 12:22:42 by simonpj] Inlining pragma buglet --- 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