[GHC] #10129: emitCmmLitSwitch could be better

GHC ghc-devs at haskell.org
Mon Mar 2 22:11:03 UTC 2015


#10129: emitCmmLitSwitch could be better
-------------------------------------+-------------------------------------
        Reporter:  nomeata           |                   Owner:
            Type:  task              |                  Status:  patch
        Priority:  normal            |               Milestone:
       Component:  Compiler          |                 Version:  7.8.4
  (CodeGen)                          |                Keywords:
      Resolution:                    |            Architecture:
Operating System:  Unknown/Multiple  |  Unknown/Multiple
 Type of failure:  Runtime           |               Test Case:
  performance bug                    |                Blocking:
      Blocked By:                    |  Differential Revisions:  Phab:D693
 Related Tickets:                    |
-------------------------------------+-------------------------------------

Comment (by Joachim Breitner <mail@…>):

 In [changeset:"c3eee14d31585445d4a7eff5b6c69a815b911059/ghc"]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="c3eee14d31585445d4a7eff5b6c69a815b911059"
 Improve if-then-else tree for cases on literal values

 Previously, in the branch of the if-then-else tree, it would emit a
 final check if the scrut matches the alternative, even if earlier
 comparisons alread imply this equality. By keeping track of the bounds
 we can skip this check. Of course this is only sound for integer types.
 This closes #10129.
 Differential Revision: https://phabricator.haskell.org/D693
 }}}

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


More information about the ghc-tickets mailing list