2005-11-19 James A. Morrison <phython@gcc.gnu.org>
* tree-vrp.c (compare_ranges): Return false for EQ_EXPR if VR0 is less
than VR1 or vice-versa.
From-SVN: r107243
+2005-11-19 James A. Morrison <phython@gcc.gnu.org>
+
+ * tree-vrp.c (compare_ranges): Return false for EQ_EXPR if VR0 is less
+ than VR1 or vice-versa.
+
2005-11-19 Hans-Peter Nilsson <hp@axis.com>
PR middle-end/24912
+2005-11-19 James A. Morrison <phython@gcc.gnu.org>
+
+ * gcc.dg/tree-ssa/vrp22.c: New test.
+
2005-11-19 Hans-Peter Nilsson <hp@axis.com>
PR middle-end/24912
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-O1 -ftree-vrp -fdump-tree-vrp" } */
+
+extern void link_error ();
+
+void test02(unsigned int a, unsigned int b)
+{
+ unsigned int x = 0x80000000;
+ if (a > x)
+ if (b < x)
+ if (a == b)
+ link_error ();
+}
+
+/* { dg-final { scan-tree-dump-times "link_error" 0 "vrp" } } */
+/* { dg-final { cleanup-tree-dump "vrp" } } */
else if (cmp_min != -2 && cmp_max != -2)
return boolean_false_node;
}
+ /* If [V0_MIN, V1_MAX] < [V1_MIN, V1_MAX] then V0 != V1. */
+ else if (compare_values (vr0->min, vr1->max) == 1
+ || compare_values (vr1->min, vr0->max) == 1)
+ return boolean_false_node;
return NULL_TREE;
}