search for: __buildin_expect

Displaying 4 results from an estimated 4 matches for "__buildin_expect".

2015 Oct 27
4
How can I tell llvm, that a branch is preferred ?
If I read the llvm language correctly, it doesn't have a way to specify the preferred branch, correct ? I see nothing in the specs for "branch" or "switch". And __buildin_expect does nothing, that I am sure of. Unfortunately llvm has this knack for ordering my one most crucial part of code exactly the opposite I want to, it does: (x86_64) cmpq %r15, (%rax,%rdx) jne LBB0_3 Ltmp18: leaq 8(%rax,%rdx), %rcx jmp LBB0_4 LBB0_3: addq $8, %rcx LBB0_4: when I want, cmp...
2015 Aug 08
2
RFC: PGO Late instrumentation for LLVM
...gt; can improve instrumented code performance by about 10%. While it’s hard to >> find the optimal placement of count update, compiler heuristics can be >> used the get the better placement. These heuristics can be based on static >> profile prediction or user annotations (like __buildin_expect) to estimate >> the relative edge hotness and put instrumentations on the less hot edges. >> The initial late instrumentation has not fully implemented this placement >> strategy yet. With that implemented, we expect even better results than >> what is reported here. For r...
2015 Aug 10
3
RFC: PGO Late instrumentation for LLVM
...formance by about 10%. While it’s > hard to > >>> find the optimal placement of count update, compiler heuristics can > be used > >>> the get the better placement. These heuristics can be based on static > >>> profile prediction or user annotations (like __buildin_expect) to > estimate > >>> the relative edge hotness and put instrumentations on the less hot > edges. > >>> The initial late instrumentation has not fully implemented this > placement > >>> strategy yet. With that implemented, we expect even better results &...
2015 Aug 08
3
RFC: PGO Late instrumentation for LLVM
...lacement based on edge hotness can improve instrumented code performance by about 10%. While it’s hard to find the optimal placement of count update, compiler heuristics can be used the get the better placement. These heuristics can be based on static profile prediction or user annotations (like __buildin_expect) to estimate the relative edge hotness and put instrumentations on the less hot edges. The initial late instrumentation has not fully implemented this placement strategy yet. With that implemented, we expect even better results than what is reported here. For real world programs, another major so...