This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
misc VRP cleanups for value_range API
- From: Aldy Hernandez <aldyh at redhat dot com>
- To: gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 8 Nov 2018 07:42:19 -0500
- Subject: misc VRP cleanups for value_range API
Stupid boring changes.
OK?
* tree-vrp.c (value_range::check): Do not access internals
directly.
(value_range::singleton_p): Same.
(value_range::type): Same.
(vrp_finalize): Use value_range API.
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index 7af676a416d..3ccf2e491d6 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -157,7 +157,7 @@ value_range::check ()
}
case VR_UNDEFINED:
case VR_VARYING:
- gcc_assert (!m_min && !m_max);
+ gcc_assert (!min () && !max ());
gcc_assert (!m_equiv || bitmap_empty_p (m_equiv));
break;
default:
@@ -291,11 +291,11 @@ bool
value_range::singleton_p (tree *result) const
{
if (m_kind == VR_RANGE
- && vrp_operand_equal_p (m_min, m_max)
- && is_gimple_min_invariant (m_min))
+ && vrp_operand_equal_p (min (), max ())
+ && is_gimple_min_invariant (min ()))
{
if (result)
- *result = m_min;
+ *result = min ();
return true;
}
return false;
@@ -306,8 +306,8 @@ value_range::type () const
{
/* Types are only valid for VR_RANGE and VR_ANTI_RANGE, which are
known to have non-zero min/max. */
- gcc_assert (m_min);
- return TREE_TYPE (m_min);
+ gcc_assert (min ());
+ return TREE_TYPE (min ());
}
/* Dump value range to FILE. */
@@ -6558,9 +6558,7 @@ vrp_prop::vrp_finalize (bool warn_array_bounds_p)
&& range_includes_zero_p (vr) == 0)
set_ptr_nonnull (name);
else if (!POINTER_TYPE_P (TREE_TYPE (name)))
- set_range_info (name, vr->kind (),
- wi::to_wide (vr->min ()),
- wi::to_wide (vr->max ()));
+ set_range_info (name, *vr);
}
/* If we're checking array refs, we want to merge information on