[GHC] #14644: Improve cmm/assembly for pattern matches with two constants.

GHC ghc-devs at haskell.org
Tue Jan 9 20:28:21 UTC 2018


#14644: Improve cmm/assembly for pattern matches with two constants.
-------------------------------------+-------------------------------------
        Reporter:  AndreasK          |                Owner:  AndreasK
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.2.2
  (CodeGen)                          |             Keywords:  Codegen, CMM,
      Resolution:                    |  Patterns, Pattern Matching
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):  Phab:D4294
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by AndreasK):

 Replying to [comment:6 simonpj]:
 > A 10% improvement is amazing.

 Indeed! Nothing in nofib gets up to 10% but wheel-sieve1 comes close.

 * 17 programs are changed (contain that kind of case statement)
 * 15 Show no significant runtime difference. (It's fair to assume it's an
 improvement but not mensurable with the noise on my machine)
 * k-nucleotide improves by ~1.2%
 * wheel-sieve1 has the code in a inner loop. It improves by ~4.3% in
 mode=normal. Increasing the problem size makes the difference even bigger
 up to somewhere around 8-9%

 >
 > If you commit this, please include a Note explaining the strategy, and
 pointing to the ticket.

 Will do.

 ****

 The patch is up on phab. If someone can run this on an older intel (or
 even better amd) processor and check the result that would be great to
 make sure it's not just a pecularity of my i7-6700K.

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


More information about the ghc-tickets mailing list