diff options
author | Ben Gamari <bgamari.foss@gmail.com> | 2018-06-07 13:20:49 -0400 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2018-06-07 18:06:29 -0400 |
commit | db4f064eca209fde171d8a108cace6f27a5e9b27 (patch) | |
tree | 9c23c3ea0032795e4918071eaa3a00476d94d1ee | |
parent | 64c71ce956af3af593a46ef0d615c7f6fe6ecece (diff) | |
download | haskell-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.hs | 6 | ||||
-rw-r--r-- | compiler/stranal/WorkWrap.hs | 2 |
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 |