[GHC] #14372: CMM contains a bunch of tail-merging opportunities

GHC ghc-devs at haskell.org
Mon Dec 4 11:58:36 UTC 2017


#14372: CMM contains a bunch of tail-merging opportunities
-------------------------------------+-------------------------------------
        Reporter:  heisenbug         |                Owner:  (none)
            Type:  feature request   |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.2.1
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by jp.rider63):

 Yes, I was slightly confused about the CBE discussion, but it seems
 somewhat related.

 FYI, this is my [https://github.com/bos/aeson/pull/599 motivating
 example]. The speedup I thought was happening due to eliminating common
 tails actually turned out to be from (lack of) inlining on someone else's
 machine. Either way, I think it makes sense to benchmark performance
 differences and see if this change is worthwhile. Even if performance is
 similar, it might be worth implementing to reduce code size.

 For my use case, one optimization that might help more is creating lookup
 tables when matching on `Word8`. Maybe I'll create another ticket for that
 in the future.

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


More information about the ghc-tickets mailing list