X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Fstranal%2FWorkWrap.lhs;fp=compiler%2Fstranal%2FWorkWrap.lhs;h=b0759b92aabe9f87abcd9b7e3f923e97496755b6;hp=25479785904c91db9a511d435276a30945fb1b64;hb=77166b1729061531eeb77c33f4d3b2581f7d4c41;hpb=0af418beb1aadcae1df036240151556895d00321 diff --git a/compiler/stranal/WorkWrap.lhs b/compiler/stranal/WorkWrap.lhs index 2547978..b0759b9 100644 --- a/compiler/stranal/WorkWrap.lhs +++ b/compiler/stranal/WorkWrap.lhs @@ -274,8 +274,8 @@ checkSize fn_id rhs thing_inside | otherwise = thing_inside where - unfolding = idUnfolding fn_id - inline_rule = mkInlineRule unSaturatedOk rhs (unfoldingArity unfolding) + unfolding = idUnfolding fn_id + inline_rule = mkInlineRule rhs Nothing --------------------- splitFun :: Id -> IdInfo -> [Demand] -> DmdResult -> Expr Var @@ -314,15 +314,16 @@ splitFun fn_id fn_info wrap_dmds res_info rhs wrap_rhs = wrap_fn work_id wrap_prag = InlinePragma { inl_inline = True + , inl_sat = Nothing , inl_act = ActiveAfter 0 , inl_rule = rule_match_info } + -- See Note [Wrapper activation] + -- The RuleMatchInfo is (and must be) unaffected + -- The inl_inline is bound to be False, else we would not be + -- making a wrapper wrap_id = fn_id `setIdUnfolding` mkWwInlineRule work_id wrap_rhs arity `setInlinePragma` wrap_prag - -- See Note [Wrapper activation] - -- The RuleMatchInfo is (and must be) unaffected - -- The inl_inline is bound to be False, else we would not be - -- making a wrapper `setIdOccInfo` NoOccInfo -- Zap any loop-breaker-ness, to avoid bleating from Lint -- about a loop breaker with an INLINE rule