tree-vrp.c (extract_range_from_binary_expr): Don't shift by floor_log2 of zero.

* tree-vrp.c (extract_range_from_binary_expr): Don't shift by
floor_log2 of zero.  Negate widened zero.

From-SVN: r142702
This commit is contained in:
Alexandre Oliva 2008-12-12 04:56:29 +00:00 committed by Alexandre Oliva
parent db231d5d4d
commit 26e4f1baa2
2 changed files with 7 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2008-12-12 Alexandre Oliva <aoliva@redhat.com>
* tree-vrp.c (extract_range_from_binary_expr): Don't shift by
floor_log2 of zero. Negate widened zero.
2008-12-12 Ben Elliston <bje@au.ibm.com>
* config/fp-bit.c (nan): Rename from this ..

View File

@ -2557,11 +2557,11 @@ extract_range_from_binary_expr (value_range_t *vr,
ior_max.high = vr0_max.high | vr1_max.high;
if (ior_max.high != 0)
{
ior_max.low = ~0u;
ior_max.low = ~(unsigned HOST_WIDE_INT)0u;
ior_max.high |= ((HOST_WIDE_INT) 1
<< floor_log2 (ior_max.high)) - 1;
}
else
else if (ior_max.low != 0)
ior_max.low |= ((unsigned HOST_WIDE_INT) 1u
<< floor_log2 (ior_max.low)) - 1;