#932: Improve inlining
----------------------+-----------------------------------------------------
 Reporter:  simonpj   |          Owner:         
     Type:  task      |         Status:  new    
 Priority:  normal    |      Milestone:  6.6.1  
Component:  Compiler  |        Version:  6.4.2  
 Severity:  normal    |     Resolution:         
 Keywords:            |     Difficulty:  Unknown
 Testcase:  N/A       |   Architecture:  Unknown
       Os:  Unknown   |  
----------------------+-----------------------------------------------------
Comment (by samb):

 Hmm, that did not work right! Trac won't let people download the
 attachment?

 Anyway, with that last idea my patches no longer make anything in nofib
 allocate more -- however they also don't make any of them allocate *less*
 :-(. They do make a couple of 'em slower, though.

 And then there are things like this:

 {{{
 module Test2 where

 import GHC.Exts

 foo = word2Int#

 bar = foo
 }}}

 Which produces this output when built with {{{ghc/compiler/ghc-inplace
 -ddump-inlinings -no-recomp -O2 -c Test2.hs}}}:

 {{{
 SimplBind [main:Test2.foo{v r7V} [lid]]
 SimplBind [main:Test2.bar{v r7X} [lid]]
 Considering inlining
     main:Test2.foo{v r7V} [lid] active: False
                                 arg infos []
                                 interesting continuation False
                                 is value: True
                                 is cheap: True
                                 guidance IF_ARGS 0 [] 1 0
                                 ANSWER = NO
 ...
 }}}

 Which gives word2Int# a "size" of 1, even though it doesn't DO anything.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/932>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to