[commit: ghc] wip/T14068: Revert "Prevent inlining of loopified programs" (11d38a5)

git at git.haskell.org git at git.haskell.org
Fri Aug 18 13:08:58 UTC 2017


Repository : ssh://git@git.haskell.org/ghc

On branch  : wip/T14068
Link       : http://ghc.haskell.org/trac/ghc/changeset/11d38a58e974bd784007faf02aea334b7bd02a6d/ghc

>---------------------------------------------------------------

commit 11d38a58e974bd784007faf02aea334b7bd02a6d
Author: Joachim Breitner <mail at joachim-breitner.de>
Date:   Fri Aug 18 15:07:30 2017 +0200

    Revert "Prevent inlining of loopified programs"
    
    This reverts commit b726f715cfef0e52476b8866308c857c60331ae0. Inline
    prevention did not work properly.
    
    (These two commits will not be present when the branch is merged and
    squashed, but as long as I work on this branch I’d like them to be
    around.)


>---------------------------------------------------------------

11d38a58e974bd784007faf02aea334b7bd02a6d
 compiler/coreSyn/CoreOpt.hs | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/compiler/coreSyn/CoreOpt.hs b/compiler/coreSyn/CoreOpt.hs
index b62c025..5949cf6 100644
--- a/compiler/coreSyn/CoreOpt.hs
+++ b/compiler/coreSyn/CoreOpt.hs
@@ -672,11 +672,7 @@ loopificationJoinPointBinding_maybe bndr rhs
                      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) $
-                zapIdTailCallInfo $
-                bndr
+        bndr' = zapIdTailCallInfo bndr
     in  Just (bndr', join_bndr, mkLams bndrs body)
 
   | otherwise



More information about the ghc-commits mailing list