diff options
author | Joachim Breitner <mail@joachim-breitner.de> | 2018-02-21 00:03:27 -0500 |
---|---|---|
committer | Joachim Breitner <mail@joachim-breitner.de> | 2018-02-21 00:03:27 -0500 |
commit | 20b00bd9fcb5e0e5b115f0796f2b59005856234d (patch) | |
tree | 944b233fb59dbe5571082a8bde37fdd81b4b02e5 | |
parent | 1f3da3b5bea004e75f9389796a2a537007291463 (diff) | |
download | haskell-wip/T14068-inline.tar.gz |
Revert "Prevent inlining of loopified programs"wip/T14068-inline
This reverts commit b4ab3a5f1fa051be9c5689f7ecef16458b2d700d, to get new
measurements on how loopification fares with inlining enabled.
-rw-r--r-- | compiler/coreSyn/CoreOpt.hs | 8 | ||||
-rw-r--r-- | compiler/stranal/WorkWrap.hs | 1 |
2 files changed, 1 insertions, 8 deletions
diff --git a/compiler/coreSyn/CoreOpt.hs b/compiler/coreSyn/CoreOpt.hs index d97a015565..57812e4c8a 100644 --- a/compiler/coreSyn/CoreOpt.hs +++ b/compiler/coreSyn/CoreOpt.hs @@ -675,14 +675,8 @@ loopificationJoinPointBinding_maybe bndr rhs zapFragileIdInfo $ localiseId $ bndr - -- RULES etc stay with bindr' - -- Also, previously, the function was recursive, and hence not inlineable. - -- To tread with caution, let's keep it this way - bndr' = (`setIdUnfolding` noUnfolding) $ - (`setInlinePragma` neverInlinePragma) $ - (`setIdOccInfo` noOccInfo) $ - bndr + bndr' = zapIdTailCallInfo bndr in Just (bndr', join_bndr, mkLams bndrs body) | otherwise diff --git a/compiler/stranal/WorkWrap.hs b/compiler/stranal/WorkWrap.hs index 4eb2f1016e..ac8798e56e 100644 --- a/compiler/stranal/WorkWrap.hs +++ b/compiler/stranal/WorkWrap.hs @@ -479,7 +479,6 @@ splitFun dflags fam_envs fn_id fn_info wrap_dmds res_info rhs work_act = case work_inline of -- See Note [Activation for workers] NoInline -> inl_act inl_prag - NoUserInline | isNeverActive (inl_act inl_prag) -> NeverActive _ -> wrap_act work_prag = InlinePragma { inl_src = SourceText "{-# INLINE" , inl_inline = work_inline |