2011/7/8 Richard Guenther <richard.guent...@gmail.com>:
> On Thu, Jul 7, 2011 at 6:07 PM, Kai Tietz <ktiet...@googlemail.com> wrote:
>> Index: gcc-head/gcc/tree-vrp.c
>> @@ -2232,6 +2235,7 @@ extract_range_from_binary_expr (value_ra
>>      some cases.  */
>>   if (code != BIT_AND_EXPR
>>       && code != TRUTH_AND_EXPR
>> +      && code != BIT_IOR_EXPR
>
> Huh?  So how would VARYING | x ever produce something better
> than VARYING?

Because BIT_IOR_EXPR might be a 1-bit precision operation and so
equivalent to TRUTH_OR_EXPR. It might be that BIT_XOR_EXPR is worth to
be added here too, as for one-bit precision typed expression it is
equivalent to TRUTH_XOR_EXPR.

Kai

Reply via email to