summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <bgamari.foss@gmail.com>2018-06-07 13:20:49 -0400
committerBen Gamari <ben@smart-cactus.org>2018-06-07 18:06:29 -0400
commitdb4f064eca209fde171d8a108cace6f27a5e9b27 (patch)
tree9c23c3ea0032795e4918071eaa3a00476d94d1ee
parent64c71ce956af3af593a46ef0d615c7f6fe6ecece (diff)
downloadhaskell-db4f064eca209fde171d8a108cace6f27a5e9b27.tar.gz
WorkWrap: Rip out unsafeGlobalDynFlags usage in mkWwInlineRule
Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4775
-rw-r--r--compiler/coreSyn/CoreUnfold.hs6
-rw-r--r--compiler/stranal/WorkWrap.hs2
2 files changed, 4 insertions, 4 deletions
diff --git a/compiler/coreSyn/CoreUnfold.hs b/compiler/coreSyn/CoreUnfold.hs
index 20c8d0d35b..3d26d3c721 100644
--- a/compiler/coreSyn/CoreUnfold.hs
+++ b/compiler/coreSyn/CoreUnfold.hs
@@ -104,10 +104,10 @@ mkDFunUnfolding bndrs con ops
, df_args = map occurAnalyseExpr ops }
-- See Note [Occurrence analysis of unfoldings]
-mkWwInlineRule :: CoreExpr -> Arity -> Unfolding
-mkWwInlineRule expr arity
+mkWwInlineRule :: DynFlags -> CoreExpr -> Arity -> Unfolding
+mkWwInlineRule dflags expr arity
= mkCoreUnfolding InlineStable True
- (simpleOptExpr unsafeGlobalDynFlags expr)
+ (simpleOptExpr dflags expr)
(UnfWhen { ug_arity = arity, ug_unsat_ok = unSaturatedOk
, ug_boring_ok = boringCxtNotOk })
diff --git a/compiler/stranal/WorkWrap.hs b/compiler/stranal/WorkWrap.hs
index 8da2a1288a..6289ba039a 100644
--- a/compiler/stranal/WorkWrap.hs
+++ b/compiler/stranal/WorkWrap.hs
@@ -562,7 +562,7 @@ splitFun dflags fam_envs fn_id fn_info wrap_dmds res_info rhs
-- inl_inline: see Note [Wrapper NoUserInline]
-- inl_rule: RuleMatchInfo is (and must be) unaffected
- wrap_id = fn_id `setIdUnfolding` mkWwInlineRule wrap_rhs arity
+ wrap_id = fn_id `setIdUnfolding` mkWwInlineRule dflags wrap_rhs arity
`setInlinePragma` wrap_prag
`setIdOccInfo` noOccInfo
-- Zap any loop-breaker-ness, to avoid bleating from Lint