aboutsummaryrefslogtreecommitdiff
path: root/gcc/vr-values.c
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2019-06-03 11:28:28 +0000
committerAldy Hernandez <aldyh@gcc.gnu.org>2019-06-03 11:28:28 +0000
commitf2b00d2ba461d6dafdeccf6d93828b349b5e7f76 (patch)
tree207b3e75858642d677836e0e269fe0285e6eead6 /gcc/vr-values.c
parent49f3f450046a63b5de61be28eb6023d86e0c950e (diff)
downloadgcc-f2b00d2ba461d6dafdeccf6d93828b349b5e7f76.zip
gcc-f2b00d2ba461d6dafdeccf6d93828b349b5e7f76.tar.gz
gcc-f2b00d2ba461d6dafdeccf6d93828b349b5e7f76.tar.bz2
tree-vrp.h (value_range_base::nonzero_p): New.
* tree-vrp.h (value_range_base::nonzero_p): New. (value_range_base::set_nonnull): Rename to... (value_range_base::set_nonzero): ...this. (value_range_base::set_null): Rename to... (value_range_base::set_zero): ...this. (value_range::set_nonnull): Remove. (value_range::set_null): Remove. * tree-vrp.c (range_is_null): Remove. (range_is_nonnull): Remove. (extract_range_from_binary_expr): Use value_range_base::*zero_p instead of range_is_*null. (extract_range_from_unary_expr): Same. (value_range_base::set_nonnull): Rename to... (value_range_base::set_nonzero): ...this. (value_range::set_nonnull): Remove. (value_range_base::set_null): Rename to... (value_range_base::set_zero): ...this. (value_range::set_null): Remove. (extract_range_from_binary_expr): Rename set_*null uses to set_*zero. (extract_range_from_unary_expr): Same. (union_helper): Same. * vr-values.c (get_value_range): Use set_*zero instead of set_*null. (vr_values::extract_range_from_binary_expr): Same. (vr_values::extract_range_basic): Same. From-SVN: r271865
Diffstat (limited to 'gcc/vr-values.c')
-rw-r--r--gcc/vr-values.c23
1 files changed, 18 insertions, 5 deletions
diff --git a/gcc/vr-values.c b/gcc/vr-values.c
index 0e10aca..b401516 100644
--- a/gcc/vr-values.c
+++ b/gcc/vr-values.c
@@ -118,7 +118,10 @@ vr_values::get_value_range (const_tree var)
if (POINTER_TYPE_P (TREE_TYPE (sym))
&& (nonnull_arg_p (sym)
|| get_ptr_nonnull (var)))
- vr->set_nonnull (TREE_TYPE (sym));
+ {
+ vr->set_nonzero (TREE_TYPE (sym));
+ vr->equiv_clear ();
+ }
else if (INTEGRAL_TYPE_P (TREE_TYPE (sym)))
{
get_range_info (var, *vr);
@@ -130,7 +133,10 @@ vr_values::get_value_range (const_tree var)
}
else if (TREE_CODE (sym) == RESULT_DECL
&& DECL_BY_REFERENCE (sym))
- vr->set_nonnull (TREE_TYPE (sym));
+ {
+ vr->set_nonzero (TREE_TYPE (sym));
+ vr->equiv_clear ();
+ }
}
return vr;
@@ -858,7 +864,10 @@ vr_values::extract_range_from_binary_expr (value_range *vr,
|| (vr1.kind () == VR_ANTI_RANGE
&& vr1.min () == op0
&& vr1.min () == vr1.max ())))
- vr->set_nonnull (expr_type);
+ {
+ vr->set_nonzero (expr_type);
+ vr->equiv_clear ();
+ }
}
/* Extract range information from a unary expression CODE OP0 based on
@@ -1085,7 +1094,8 @@ vr_values::extract_range_basic (value_range *vr, gimple *stmt)
&& TREE_CODE (SSA_NAME_VAR (arg)) == PARM_DECL
&& cfun->after_inlining)
{
- vr->set_null (type);
+ vr->set_zero (type);
+ vr->equiv_clear ();
return;
}
break;
@@ -1392,7 +1402,10 @@ vr_values::extract_range_basic (value_range *vr, gimple *stmt)
&& gimple_stmt_nonnegative_warnv_p (stmt, &sop))
set_value_range_to_nonnegative (vr, type);
else if (vrp_stmt_computes_nonzero (stmt))
- vr->set_nonnull (type);
+ {
+ vr->set_nonzero (type);
+ vr->equiv_clear ();
+ }
else
vr->set_varying ();
}