public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc(refs/users/aldyh/heads/ranger-staging)] Revert determine_value_range changes.
@ 2020-10-05 14:51 Aldy Hernandez
  0 siblings, 0 replies; only message in thread
From: Aldy Hernandez @ 2020-10-05 14:51 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:73b8ac3a6e231958a1132688aa5b8f371dd2d7e5

commit 73b8ac3a6e231958a1132688aa5b8f371dd2d7e5
Author: Aldy Hernandez <aldyh@redhat.com>
Date:   Fri Oct 2 11:43:22 2020 +0200

    Revert determine_value_range changes.

Diff:
---
 gcc/calls.c                    | 11 ++---------
 gcc/calls.h                    |  1 -
 gcc/gimple-ssa-warn-restrict.c |  6 +++---
 gcc/tree-affine.c              |  2 +-
 gcc/tree-vrp.c                 | 13 ++++++-------
 gcc/tree-vrp.h                 |  3 +--
 6 files changed, 13 insertions(+), 23 deletions(-)

diff --git a/gcc/calls.c b/gcc/calls.c
index db684c4e3f7..ed4363811c8 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -1251,8 +1251,7 @@ alloc_max_size (void)
    functions like memset.  */
 
 bool
-get_size_range (tree exp, gimple *stmt, tree range[2],
-		bool allow_zero /* = false */)
+get_size_range (tree exp, tree range[2], bool allow_zero /* = false */)
 {
   if (!exp)
     return false;
@@ -1271,7 +1270,7 @@ get_size_range (tree exp, gimple *stmt, tree range[2],
   enum value_range_kind range_type;
 
   if (integral)
-    range_type = determine_value_range (exp, stmt, &min, &max);
+    range_type = determine_value_range (exp, &min, &max);
   else
     range_type = VR_VARYING;
 
@@ -1352,12 +1351,6 @@ get_size_range (tree exp, gimple *stmt, tree range[2],
   return true;
 }
 
-bool
-get_size_range (tree exp, tree range[2], bool allow_zero /* = false */)
-{
-  return get_size_range (exp, NULL, range, allow_zero);
-}
-
 /* Diagnose a call EXP to function FN decorated with attribute alloc_size
    whose argument numbers given by IDX with values given by ARGS exceed
    the maximum object size or cause an unsigned oveflow (wrapping) when
diff --git a/gcc/calls.h b/gcc/calls.h
index 0784fb28430..dfb951ca45b 100644
--- a/gcc/calls.h
+++ b/gcc/calls.h
@@ -134,7 +134,6 @@ extern void maybe_warn_alloc_args_overflow (tree, tree, tree[2], int[2]);
 extern tree get_attr_nonstring_decl (tree, tree * = NULL);
 extern bool maybe_warn_nonstring_arg (tree, tree);
 extern bool get_size_range (tree, tree[2], bool = false);
-extern bool get_size_range (tree, gimple *, tree[2], bool = false);
 extern rtx rtx_for_static_chain (const_tree, bool);
 extern bool cxx17_empty_base_field_p (const_tree);
 
diff --git a/gcc/gimple-ssa-warn-restrict.c b/gcc/gimple-ssa-warn-restrict.c
index 543a75c43d0..7d1aa9c17fd 100644
--- a/gcc/gimple-ssa-warn-restrict.c
+++ b/gcc/gimple-ssa-warn-restrict.c
@@ -250,7 +250,7 @@ builtin_memref::builtin_memref (gimple *stmt, tree expr, tree size)
       tree range[2];
       /* Determine the size range, allowing for the result to be [0, 0]
 	 for SIZE in the anti-range ~[0, N] where N >= PTRDIFF_MAX.  */
-      get_size_range (size, stmt, range, true);
+      get_size_range (size, range, true);
       sizrange[0] = wi::to_offset (range[0]);
       sizrange[1] = wi::to_offset (range[1]);
       /* get_size_range returns SIZE_MAX for the maximum size.
@@ -327,7 +327,7 @@ builtin_memref::extend_offset_range (tree offset)
       /* A pointer offset is represented as sizetype but treated
 	 as signed.  */
       wide_int min, max;
-      value_range_kind rng = determine_value_range (offset, stmt, &min, &max);
+      value_range_kind rng = get_range_info (offset, &min, &max);
       if (rng == VR_ANTI_RANGE && wi::lts_p (max, min))
 	{
 	  /* Convert an anti-range whose upper bound is less than
@@ -783,7 +783,7 @@ builtin_access::builtin_access (gimple *call, builtin_memref &dst,
 
       tree size = gimple_call_arg (call, sizeargno);
       tree range[2];
-      if (get_size_range (size, call, range, true))
+      if (get_size_range (size, range, true))
 	{
 	  bounds[0] = wi::to_offset (range[0]);
 	  bounds[1] = wi::to_offset (range[1]);
diff --git a/gcc/tree-affine.c b/gcc/tree-affine.c
index 4c9ecd5479f..5620e6bf28f 100644
--- a/gcc/tree-affine.c
+++ b/gcc/tree-affine.c
@@ -348,7 +348,7 @@ expr_to_aff_combination (aff_tree *comb, tree_code code, tree type,
 	    if (TYPE_UNSIGNED (itype)
 		&& TYPE_OVERFLOW_WRAPS (itype)
 		&& TREE_CODE (op1) == INTEGER_CST
-		&& determine_value_range (op0, NULL, &minv, &maxv) == VR_RANGE)
+		&& determine_value_range (op0, &minv, &maxv) == VR_RANGE)
 	      {
 		wi::overflow_type overflow = wi::OVF_NONE;
 		signop sign = UNSIGNED;
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index eb8563b5423..0e19690f41f 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -66,7 +66,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "range-op.h"
 #include "value-range-equiv.h"
 #include "gimple-array-bounds.h"
-#include "gimple-range.h"
 
 /* Set of SSA names found live during the RPO traversal of the function
    for still active basic-blocks.  */
@@ -4565,20 +4564,20 @@ make_pass_vrp (gcc::context *ctxt)
 /* Worker for determine_value_range.  */
 
 static void
-determine_value_range_1 (value_range *vr, tree expr, gimple *stmt)
+determine_value_range_1 (value_range *vr, tree expr)
 {
   if (BINARY_CLASS_P (expr))
     {
       value_range vr0, vr1;
-      determine_value_range_1 (&vr0, TREE_OPERAND (expr, 0), stmt);
-      determine_value_range_1 (&vr1, TREE_OPERAND (expr, 1), stmt);
+      determine_value_range_1 (&vr0, TREE_OPERAND (expr, 0));
+      determine_value_range_1 (&vr1, TREE_OPERAND (expr, 1));
       range_fold_binary_expr (vr, TREE_CODE (expr), TREE_TYPE (expr),
 			      &vr0, &vr1);
     }
   else if (UNARY_CLASS_P (expr))
     {
       value_range vr0;
-      determine_value_range_1 (&vr0, TREE_OPERAND (expr, 0), stmt);
+      determine_value_range_1 (&vr0, TREE_OPERAND (expr, 0));
       range_fold_unary_expr (vr, TREE_CODE (expr), TREE_TYPE (expr),
 			     &vr0, TREE_TYPE (TREE_OPERAND (expr, 0)));
     }
@@ -4605,10 +4604,10 @@ determine_value_range_1 (value_range *vr, tree expr, gimple *stmt)
    the determined range type.  */
 
 value_range_kind
-determine_value_range (tree expr, gimple *stmt, wide_int *min, wide_int *max)
+determine_value_range (tree expr, wide_int *min, wide_int *max)
 {
   value_range vr;
-  determine_value_range_1 (&vr, expr, stmt);
+  determine_value_range_1 (&vr, expr);
   if (vr.constant_p ())
     {
       *min = wi::to_wide (vr.min ());
diff --git a/gcc/tree-vrp.h b/gcc/tree-vrp.h
index bc529f604d2..eadfd71e1b9 100644
--- a/gcc/tree-vrp.h
+++ b/gcc/tree-vrp.h
@@ -62,8 +62,7 @@ extern bool find_case_label_index (gswitch *, size_t, tree, size_t *);
 extern bool overflow_comparison_p (tree_code, tree, tree, bool, tree *);
 extern tree get_single_symbol (tree, bool *, tree *);
 extern void maybe_set_nonzero_bits (edge, tree);
-extern value_range_kind determine_value_range (tree, gimple *,
-					       wide_int *, wide_int *);
+extern value_range_kind determine_value_range (tree, wide_int *, wide_int *);
 extern wide_int masked_increment (const wide_int &val_in, const wide_int &mask,
 				  const wide_int &sgnbit, unsigned int prec);


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-10-05 14:51 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-05 14:51 [gcc(refs/users/aldyh/heads/ranger-staging)] Revert determine_value_range changes Aldy Hernandez

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).