[GHC] #8589: Bad choice of loop breaker with INLINABLE/INLINE

GHC ghc-devs at haskell.org
Mon Dec 2 13:19:31 UTC 2013


#8589: Bad choice of loop breaker with INLINABLE/INLINE
--------------------------------------------+------------------------------
        Reporter:  NickSmallbone            |            Owner:
            Type:  bug                      |           Status:  new
        Priority:  normal                   |        Milestone:
       Component:  Compiler                 |          Version:  7.6.3
      Resolution:                           |         Keywords:
Operating System:  Unknown/Multiple         |     Architecture:
 Type of failure:  Runtime performance bug  |  Unknown/Multiple
       Test Case:                           |       Difficulty:  Unknown
        Blocking:                           |       Blocked By:
                                            |  Related Tickets:
--------------------------------------------+------------------------------

Comment (by tibbe):

 Aside: I've seen other cases where INLINE and INLINABLE makes things worse
 that are related to other optimizations being inhibited (i.e. not due to
 code size increase). I find it slightly worrying that INLINE has other
 effects than making an expression look cheap (i.e. the original,
 unoptimized core is inlined, at which point it might be too late for
 optimization to happen). I understand the reason (rules) we made INLINE
 behave differently, but perhaps we need two pragmas?

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


More information about the ghc-tickets mailing list