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