* tree-vrp.c (extract_range_from_unary_expr): Do not set the range for
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 8 Sep 2005 16:37:20 +0000 (16:37 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 8 Sep 2005 16:37:20 +0000 (16:37 +0000)
the result of a conversion if the new min and max cannot be compared.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104036 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree-vrp.c

index aaaf308..2548e32 100644 (file)
@@ -1,3 +1,8 @@
+2005-09-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * tree-vrp.c (extract_range_from_unary_expr): Do not set the range for
+       the result of a conversion if the new min and max cannot be compared.
+
 2005-09-08  Andreas Krebbel  <krebbel1@de.ibm.com>
 
        * config/s390/s390.c (s390_sr_alias_set): Variable removed.
index ab6dc58..a7be2d9 100644 (file)
@@ -1341,7 +1341,7 @@ extract_range_from_unary_expr (value_range_t *vr, tree expr)
              && tree_int_cst_equal (new_min, vr0.min)
              && tree_int_cst_equal (new_max, vr0.max)
              && compare_values (new_min, new_max) <= 0
-             && compare_values (new_min, new_max) >= -2)
+             && compare_values (new_min, new_max) >= -1)
            {
              set_value_range (vr, VR_RANGE, new_min, new_max, vr->equiv);
              return;