#6048: Exponential inlining code blowup
---------------------------------+------------------------------------------
    Reporter:  simonpj           |       Owner:                  
        Type:  bug               |      Status:  new             
    Priority:  normal            |   Milestone:                  
   Component:  Compiler          |     Version:  7.4.1           
    Keywords:                    |          Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |     Failure:  None/Unknown    
  Difficulty:  Unknown           |    Testcase:                  
   Blockedby:                    |    Blocking:                  
     Related:                    |  
---------------------------------+------------------------------------------

Comment(by simonpj@…):

 commit 980372f357667c1ba63b28acbf5798826890b7a5
 {{{
 Author: Simon Peyton Jones <[email protected]>
 Date:   Wed May 9 16:22:49 2012 +0100

     Re-do the "function application discount" (fixes Trac #6048)

     * Undoes Max's very aggressive function-inlining change
       (see comments with Trac #6048)

     * Resticts function application discount to functions
       that occur just once in the body. It was the multiple
       occurrences that led to the exponential behavour in
       Trac #6048.

     See Note [Function application discount] in CoreUnfold.

     Module binary sizes are down 2% on average, which is good.
     Allocations wobble about a bit, but only on a few benchmarks
     and not by much, so it seems a price worth paying to avoid
     exponential behaviour!

                              Allocs
                 Min           -1.2%
                 Max           +2.8%
      Geometric Mean           +0.0%

  compiler/coreSyn/CoreUnfold.lhs |  122
 +++++++++++----------------------------
  1 files changed, 35 insertions(+), 87 deletions(-)
 }}}

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/6048#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to