#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