Standard way to supply hints to branches
Tejas
notrealemail at gmail.com
Tue Sep 10 02:18:57 UTC 2024
On Friday, 23 August 2024 at 01:47:37 UTC, Manu wrote:
> I'm working on microcontrollers, and many don't have a branch
> predictor. They do "static" prediction, that is, they just
> predict branch-not-taken and it's on you to write your code as
> such, and that's not always possible. (like the loop condition
> in a for loop)
>
> This leads to a lot of awkward looking if's written in
> unnatural 'backwards' terms, and also, leads to undesirable
> depth of nested scopes.
>
> The compiler backend can and should re-jig the comparisons, but
> it needs to receive a hint which way is 'likely' from the
> programmer.
>
> How can we add an attribute to the branch condition that the
> backend can take advantage of? I think it needs to be in the
> language spec...
Hi, what are your views on the article linked below that
discourages using `[[likely]]` and `[[unlikely]]`?
https://blog.aaronballman.com/2020/08/dont-use-the-likely-or-unlikely-attributes/
More information about the Digitalmars-d
mailing list