[GHC] #849: Offer control over branch prediction
GHC
cvs-ghc at haskell.org
Mon Jul 16 13:11:58 CEST 2012
#849: Offer control over branch prediction
---------------------------------+------------------------------------------
Reporter: simonpj | Owner:
Type: feature request | Status: new
Priority: normal | Milestone: 7.6.1
Component: Compiler | Version: 6.4.2
Keywords: | Os: Unknown/Multiple
Architecture: Unknown/Multiple | Failure: None/Unknown
Difficulty: Unknown | Testcase: N/A
Blockedby: | Blocking:
Related: |
---------------------------------+------------------------------------------
Changes (by nicolast):
* cc: ikke+ghc@… (added)
Comment:
When using the LLVM backend, this might be feasible using the
"branch_weights" [1] metadata annotations. This way there's no need to do
any reordering in the intermediate IR: the optimization steps do this
based on these annotations (I checked using Clang with `__builtin_expect`,
comparing the generated IR and the final assembly).
This allows more granular weights than just "LIKELY" or "UNLIKELY".
Would there be any interest if I'd look into adding such "BRANCH_WEIGHT
(uint)" pragma? (Not sure I can pull it off though, not familiar with GHC
internals (yet)).
[1] http://llvm.org/docs/BranchWeightMetadata.html
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/849#comment:19>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the Glasgow-haskell-bugs
mailing list