helping the compiler with asserts-hints to optimize

Jonathan Wakely jwakely.gcc@gmail.com
Wed Apr 23 16:56:00 GMT 2014


On 23 April 2014 17:50, Jonathan Wakely wrote:
> On 23 April 2014 17:24, Agustin Perez Paladini wrote:
>> Basically I was thinking in something like asserts, but that are only
>> visible for the compiler and don't affect the code. Something like
>>
>> __builtin_assume(x > 0);
>> __builtin_assume(x < 10);
>>
>> where x is a variable. That way the compiler can do better optimizations.
>
> You can use __buitlin_expect and __builtin_unreachable to do that.

Or just __builtin_unreachable alone

#define ASSUME(X) if (!(X)) __builtin_unreachable()

This tells the compiler X is always true. Isn't that what you want?



More information about the Gcc-help mailing list