[GHC] #8032: Worker-wrapper transform and NOINLINE trigger bad reboxing behavior

GHC ghc-devs at haskell.org
Tue Jul 9 00:32:28 CEST 2013


#8032: Worker-wrapper transform and NOINLINE trigger bad reboxing behavior
--------------------------------------------+------------------------------
        Reporter:  ezyang                   |            Owner:
            Type:  bug                      |           Status:  new
        Priority:  normal                   |        Milestone:
       Component:  Compiler                 |          Version:  7.7
      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 ezyang):

 But it seems this story is complicated by the fact that, from the
 perspective of the simplifier (see the Thunk splitting note), the form:

 {{{
       case x-rhs of
         I# a -> let x* = I# a
                 in body
 }}}

 is desirable, because it allows the simplifier to continue doing
 optimizations inside body knowing the structure of x*. So this might be
 complicated to fix without making splitThunk more complicated.

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



More information about the ghc-tickets mailing list