On 05/19/2016 04:37 AM, ☂Josh Chia (谢任中) wrote: > Is there a way to tell gcc to assume that the underlying integer value > is for a valid enum value and optimize accordingly? Even more > generally, is there a way to give optimization hints to the compiler > that a variable can only have certain values at a certain point in the > code? > You can use this idiom to tell GCC that 'condition' is true: if (!condition) __builtin_unreachable(); GCC is able to infer value ranges from conditions like e.g. (x >= a && x <= b). -- Regards, Mikhail Maltsev