X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Fstranal%2FWorkWrap.lhs;h=7b124f303f4ac3fe3ed72785a5f523573c4406ed;hp=772a8623f3259761a040a51c1fe2b39d04ddf2d3;hb=703ca1542c8e0983cc9d8eebce6e9f3dd3fd71e2;hpb=9060e51e4773bdff1829d17e3f7c42edb910d805 diff --git a/compiler/stranal/WorkWrap.lhs b/compiler/stranal/WorkWrap.lhs index 772a862..7b124f3 100644 --- a/compiler/stranal/WorkWrap.lhs +++ b/compiler/stranal/WorkWrap.lhs @@ -11,18 +11,13 @@ import CoreUnfold ( certainlyWillInline ) import CoreUtils ( exprType, exprIsHNF, mkInlineMe ) import CoreArity ( exprArity ) import Var -import Id ( Id, idType, isOneShotLambda, idUnfolding, - setIdNewStrictness, mkWorkerId, - setIdWorkerInfo, setInlineActivation, - setIdArity, idInfo ) -import MkId ( lazyIdKey, lazyIdUnfolding ) +import Id import Type ( Type ) import IdInfo import NewDemand ( Demand(..), StrictSig(..), DmdType(..), DmdResult(..), Demands(..), mkTopDmdType, isBotRes, returnsCPR, topSig, isAbsent ) import UniqSupply -import Unique ( hasKey ) import BasicTypes ( RecFlag(..), isNonRec, isNeverActive, Activation, inlinePragmaActivation ) import VarEnv ( isEmptyVarEnv ) @@ -107,17 +102,12 @@ matching by looking for strict arguments of the correct type. \begin{code} wwExpr :: CoreExpr -> UniqSM CoreExpr -wwExpr e@(Type _) = return e -wwExpr e@(Lit _) = return e +wwExpr e@(Type {}) = return e +wwExpr e@(Lit {}) = return e +wwExpr e@(Var {}) = return e wwExpr e@(Note InlineMe _) = return e -- Don't w/w inside InlineMe's -wwExpr e@(Var v) - | v `hasKey` lazyIdKey = return lazyIdUnfolding - | otherwise = return e - -- HACK alert: Inline 'lazy' after strictness analysis - -- (but not inside InlineMe's) - wwExpr (Lam binder expr) = Lam binder <$> wwExpr expr