+2018-12-10 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/88427
+ * vr-values.c (vr_values::extract_range_from_phi_node):
+ Handle symbolic ranges conservatively when trying to drop
+ to Inf +- 1.
+
2018-12-10 Martin Jambor <mjambor@suse.cz>
PR ipa/88214
+2018-12-10 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/88427
+ * gcc.dg/pr88427.c: New testcase.
+
2018-12-10 Jakub Jelinek <jakub@redhat.com>
PR ipa/87955
if (cmp_min < 0)
new_min = lhs_vr->min ();
else if (cmp_min > 0
- && tree_int_cst_lt (vrp_val_min (vr_result->type ()),
- vr_result->min ()))
+ && (TREE_CODE (vr_result->min ()) != INTEGER_CST
+ || tree_int_cst_lt (vrp_val_min (vr_result->type ()),
+ vr_result->min ())))
new_min = int_const_binop (PLUS_EXPR,
vrp_val_min (vr_result->type ()),
build_int_cst (vr_result->type (), 1));
if (cmp_max > 0)
new_max = lhs_vr->max ();
else if (cmp_max < 0
- && tree_int_cst_lt (vr_result->max (),
- vrp_val_max (vr_result->type ())))
+ && (TREE_CODE (vr_result->max ()) != INTEGER_CST
+ || tree_int_cst_lt (vr_result->max (),
+ vrp_val_max (vr_result->type ()))))
new_max = int_const_binop (MINUS_EXPR,
vrp_val_max (vr_result->type ()),
build_int_cst (vr_result->type (), 1));