[GHC] #9661: Branchless ==# is compiled to branchy code
GHC
ghc-devs at haskell.org
Fri Oct 3 17:48:37 UTC 2014
#9661: Branchless ==# is compiled to branchy code
-------------------------------------+-------------------------------------
Reporter: dfeuer | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.9
Resolution: | Keywords:
Operating System: | Architecture: Unknown/Multiple
Unknown/Multiple | Difficulty: Unknown
Type of failure: Runtime | Blocked By:
performance bug | Related Tickets:
Test Case: |
Blocking: |
Differential Revisions: |
-------------------------------------+-------------------------------------
Comment (by dfeuer):
Replying to [comment:3 jstolarek]:
> When you rewrite the transformation to work on the `==#` primop this
should be the result that you get, but I don't think that you can get such
transformation by just inlining definition of `(==)`. The problem is that
calls to `tagToEnum#` are not currently optimized away in Core (#8317).
I doubt this is going to make much of a difference in most cases, but
we'll have to see (I can probably look into it tomorrow night). My
overriding philosophy is that band-aids are bad, and band-aids that
complicate other things are very bad. If `litEq` is currently serving
primarily as a band-aid for #8317, I think we should rip it off and wait
for a proper fix.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9661#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list