aaron.ballman added a comment.

In D134456#3814820 <https://reviews.llvm.org/D134456#3814820>, @AntonBikineev 
wrote:

>> No, it sounds like we need a proposal for 
>> `[[likely_unless_the_optimizer_decides_otherwise]]` -- the `[[likely]]` 
>> attribute was intended for always-likely optimization decisions.
>
> Well, whatever the default behavior is chosen.

Agreed -- and we can easily add such an attribute under the `clang` vendor 
namespace once we nail down the default behavior we want for `[[likely]]`.

>> I agree that we should be consistent, but there's different ways we can be 
>> consistent. Consistent with what the feature paper intended? Consistent with 
>> our past decisions? Consistent with how other implementations behave?
>
> What I meant is that if the status quo is preserved, the never taken 
> [[likely]] branch would be considered as "unlikely'' after PGO (the purpose 
> of this patch).
>
>> What do other implementations that support PGO do? If PGO implementations 
>> consistently behave a certain way, that would be interesting to know.
>
> I just checked GCC and it seems like it considers likely as a forcing 
> optimization: https://godbolt.org/z/69E3383cq

Thanks for checking! It doesn't seem to have any impact on ICC one way or the 
other (at least from my simple testing).


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D134456/new/

https://reviews.llvm.org/D134456

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to