[GHC] #9661: Branchless ==# is compiled to branchy code
GHC
ghc-devs at haskell.org
Sun Apr 19 16:35:38 UTC 2015
#9661: Branchless ==# is compiled to branchy code
-------------------------------------+-------------------------------------
Reporter: dfeuer | Owner: bgamari
Type: feature request | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.9
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Runtime | Unknown/Multiple
performance bug | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Revisions: D854
-------------------------------------+-------------------------------------
Comment (by rwbarton):
Sorry, my previous comment was poorly worded at best. I'm sure there are
cases where the best non-branching code has better performance than the
best branching code. However, I'm not at all convinced that it makes sense
to try to give the user control over whether to generate branching or non-
branching code. It's at odds with the notion of an optimizing compiler,
and as I mentioned earlier even C compilers do not give you that kind of
control once optimizations are enabled. GHC should just generate whatever
it thinks is best, and if the user really needs to generate particular
assembly, they can write that assembly manually.
I would need to see some ''very'' dramatic numbers to change this point of
view; and currently we have no numbers at all.
I do think that expanding GHC's bag of tricks for post-Stg code generation
(as in #10124 for example) is practical and worthwhile, though it will
probably need more work in the native code generator as well for best
results.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9661#comment:23>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list