[GHC] #14790: eqTypeRep does not inline

GHC ghc-devs at haskell.org
Mon Feb 12 12:05:43 UTC 2018


#14790: eqTypeRep does not inline
-------------------------------------+-------------------------------------
        Reporter:  dfeuer            |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:  8.6.1
       Component:  Compiler          |              Version:  8.4.1-alpha2
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Runtime           |  Unknown/Multiple
  performance bug                    |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by dfeuer):

 mpickering, I'm happy to try it other ways, but there are a few things I
 don't understand:

 1. What exactly do you think is wrong with the way I did it? I know it's
 not perfect (see point 3) but I don't know what ''you'' dislike about it.

 2. How will the phased `NOINLINE`(s) you suggest reduce the size of the
 `eqTypeRep` unfolding?

 3. While we don't ''generally'. want to inline the case expressions
 scrutinizing the arguments, we presumably ''do'' want to optimize the
 common case where ''one'' of those arguments is completely known at
 compile time (such as the `typeRep @Int` in my example). How does this
 desire fit into the rest of the program?

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


More information about the ghc-tickets mailing list