Fix fallout from importing upstream nonzero changes to value_range.

From-SVN: r271906
This commit is contained in:
Aldy Hernandez
2019-06-04 09:43:32 +00:00
parent 6bc727e116
commit e20da653f8
6 changed files with 23 additions and 23 deletions

View File

@@ -400,7 +400,7 @@ irange_pointer_optimization (enum tree_code code, signop s, irange &r,
else if (n == WIDE_INT_RANGE_NULL)
r.union_ (range_zero (type));
else if (n == WIDE_INT_RANGE_NONNULL)
r.union_ (range_non_zero (type));
r.union_ (range_nonzero (type));
else
gcc_unreachable ();
}
@@ -2157,7 +2157,7 @@ operator_addr_expr::fold_range (irange& r, const irange& lh,
r = range_zero (rh.type ());
else
if (!lh.contains_p (wi::zero (TYPE_PRECISION (lh.type ()))))
r = range_non_zero (rh.type ());
r = range_nonzero (rh.type ());
else
return false;
return true;

View File

@@ -160,7 +160,7 @@ get_tree_range (irange &r, tree expr)
if (irange::supports_type_p (type))
{
if (tree_single_nonzero_warnv_p (expr, &ov))
r = range_non_zero (type);
r = range_nonzero (type);
else
r.set_varying (type);
return true;
@@ -305,7 +305,7 @@ irange::cast (tree new_type)
{
if (!contains_p (wi::zero (TYPE_PRECISION (m_type))))
{
// Don't use range_non_zero because it will recurse into cast().
// Don't use range_nonzero because it will recurse into cast().
unsigned prec = TYPE_PRECISION (new_type);
irange nz (new_type, wi::zero (prec), wi::zero (prec),
irange::INVERSE);
@@ -799,7 +799,7 @@ irange::dump (pretty_printer *buffer) const
{
wide_int min = wi::min_value (TYPE_PRECISION (m_type), TYPE_SIGN (m_type));
wide_int max = wi::max_value (TYPE_PRECISION (m_type), TYPE_SIGN (m_type));
if (POINTER_TYPE_P (m_type) && non_zero_p ())
if (POINTER_TYPE_P (m_type) && nonzero_p ())
pp_string (buffer, "[ non-zero pointer ]");
else
for (unsigned i = 0; i < m_nitems; ++i)
@@ -894,7 +894,7 @@ range_zero (tree type)
}
irange
range_non_zero (tree type)
range_nonzero (tree type)
{
wide_int zero = wi::zero (TYPE_PRECISION (type));
return irange (type, zero, zero, irange::INVERSE);
@@ -1077,7 +1077,7 @@ irange_tests ()
UCHAR (0), UCHAR (254)));
// Test that NOT(0) is [1..255] in 8-bit land.
irange not_zero = range_non_zero (unsigned_char_type_node);
irange not_zero = range_nonzero (unsigned_char_type_node);
ASSERT_TRUE (not_zero == irange (unsigned_char_type_node, UCHAR (1), UCHAR (255)));
// Check that [0,127][0x..ffffff80,0x..ffffff]
@@ -1289,7 +1289,7 @@ irange_tests ()
// "NOT 0 at signed 32-bits" ==> [-MIN_32,-1][1, +MAX_32]. This is
// is outside of the range of a smaller range, return the full
// smaller range.
r0 = range_non_zero (integer_type_node);
r0 = range_nonzero (integer_type_node);
r0.cast (short_integer_type_node);
r1 = irange (short_integer_type_node,
TYPE_MIN_VALUE (short_integer_type_node),
@@ -1300,7 +1300,7 @@ irange_tests ()
//
// NONZERO signed 16-bits is [-MIN_16,-1][1, +MAX_16].
// Converting this to 32-bits signed is [-MIN_16,-1][1, +MAX_16].
r0 = range_non_zero (short_integer_type_node);
r0 = range_nonzero (short_integer_type_node);
r0.cast (integer_type_node);
r1 = irange (integer_type_node, INT (-32768), INT (-1));
r2 = irange (integer_type_node, INT (1), INT (32767));
@@ -1540,10 +1540,10 @@ irange_tests ()
r0 = irange (integer_type_node, INT (0), INT (0));
ASSERT_TRUE (r0.zero_p ());
// Test non_zero_p().
// Test nonzero_p().
r0 = irange (integer_type_node, INT (0), INT (0));
r0.invert ();
ASSERT_TRUE (r0.non_zero_p ());
ASSERT_TRUE (r0.nonzero_p ());
// Test irange / value_range conversion functions.
r0 = irange (integer_type_node, INT (10), INT (20), irange::INVERSE);

View File

@@ -79,7 +79,7 @@ class irange
bool varying_p () const;
bool undefined_p () const;
bool zero_p () const;
bool non_zero_p () const;
bool nonzero_p () const;
bool singleton_p () const;
bool singleton_p (wide_int &) const;
bool contains_p (const wide_int &element) const;
@@ -112,7 +112,7 @@ private:
}; // class irange
irange range_zero (tree type);
irange range_non_zero (tree type);
irange range_nonzero (tree type);
irange range_intersect (const irange &, const irange &);
irange range_union (const irange &, const irange &);
irange range_invert (const irange &);
@@ -225,7 +225,7 @@ irange::zero_p () const
}
inline bool
irange::non_zero_p () const
irange::nonzero_p () const
{
unsigned prec = TYPE_PRECISION (m_type);
return *this == irange (m_type, wi::zero (prec), wi::zero (prec), INVERSE);

View File

@@ -586,7 +586,7 @@ gori_cache::edge_range (irange &r, edge e, tree name)
// so just punt for now on those.
if (r.varying_p () && m_non_null.non_null_deref_p (name, src) &&
!cfun->can_throw_non_call_exceptions)
r = range_non_zero (TREE_TYPE (name));
r = range_nonzero (TREE_TYPE (name));
if (outgoing_edge_range_p (er, e, name, &r))
r = er;

View File

@@ -691,7 +691,7 @@ ssa_ranger::range_of_call (irange &r, gcall *call, tree name ATTRIBUTE_UNUSED,
if (gimple_call_nonnull_result_p (call))
{
r = range_non_zero (type);
r = range_nonzero (type);
return true;
}
r.set_varying (type);
@@ -893,7 +893,7 @@ global_ranger::range_of_expr (irange&r, tree op, gimple *s)
// there is a deref. Punt for now.
if (!cfun->can_throw_non_call_exceptions && r.varying_p () &&
m_gori.non_null_deref_p (op, bb))
r = range_non_zero (TREE_TYPE (op));
r = range_nonzero (TREE_TYPE (op));
return true;
}

View File

@@ -1546,7 +1546,7 @@ canonicalize_value_range (value_range_base *vr, tree expr_type)
&& (max == vr->max ()
|| operand_equal_p (vr->max (), max, 0)))))
{
vr->set_nonnull (expr_type);
vr->set_nonzero (expr_type);
return;
}
}
@@ -1641,7 +1641,7 @@ normalize_value_range_to_irange (irange &ir, const value_range_base *vr,
ir = value_range_to_irange (vr_type, *vr);
/* This will return ~[0,0] for [&var, &var]. */
else if (POINTER_TYPE_P (expr_type) && !range_includes_zero_p (vr))
ir = range_non_zero (expr_type);
ir = range_nonzero (expr_type);
else
ir.set_varying (vr_type);
}
@@ -1681,7 +1681,7 @@ ranger_fold (value_range_base *vr, enum tree_code code,
&& (code == MAX_EXPR || code == MIN_EXPR)
&& POINTER_TYPE_P (res.type ())
&& !res.zero_p ()
&& !res.non_zero_p ())
&& !res.nonzero_p ())
{
vr->set_varying ();
return;
@@ -1714,9 +1714,9 @@ ranger_fold_unary (value_range_base *vr, enum tree_code code, tree expr_type,
&& (POINTER_TYPE_P (expr_type) || POINTER_TYPE_P (vr0_type)))
{
if (!range_includes_zero_p (vr0))
vr->set_nonnull (expr_type);
else if (range_is_null (vr0))
vr->set_null (expr_type);
vr->set_nonzero (expr_type);
else if (vr0->zero_p ())
vr->set_zero (expr_type);
else
vr->set_varying ();
return;