This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix some EVRP stupidness


On Tue, 23 Oct 2018, Richard Biener wrote:

> On Tue, 23 Oct 2018, Aldy Hernandez wrote:
> 
> > 
> > > +	      if (tem.kind () == old_vr->kind ()
> > > +		  && tem.min () == old_vr->min ()
> > > +		  && tem.max () == old_vr->max ())
> > > +		continue;
> > 
> > I think it would be cleaner to use tem.ignore_equivs_equal_p (*old_vr). The
> > goal was to use == when the equivalence bitmap should be taken into account,
> > or ignore_equivs_equal_p() otherwise.
> 
> Ah, didn't know of that function (and yes, I wanted to ignore equivs).
> 
> Will try to remember together with the dump thing David noticed.

Like the following.

Bootstrapped / tested on x86_64-unknown-linux-gnu, applied.

Richard.

2018-10-23  Richard Biener  <rguenther@suse.de>

	* tree-vrp.c (add_assert_info): Guard dump_printf with
	dump_enabled_p.
	* gimple-ssa-evrp-analyze.c
	(evrp_range_analyzer::record_ranges_from_incoming_edge):
	Use value_range::ignore_equivs_equal_p.

Index: gcc/tree-vrp.c
===================================================================
--- gcc/tree-vrp.c	(revision 265420)
+++ gcc/tree-vrp.c	(working copy)
@@ -2299,9 +2299,10 @@ add_assert_info (vec<assert_info> &asser
   info.val = val;
   info.expr = expr;
   asserts.safe_push (info);
-  dump_printf (MSG_NOTE | MSG_PRIORITY_INTERNALS,
-	       "Adding assert for %T from %T %s %T\n",
-	       name, expr, op_symbol_code (comp_code), val);
+  if (dump_enabled_p ())
+    dump_printf (MSG_NOTE | MSG_PRIORITY_INTERNALS,
+		 "Adding assert for %T from %T %s %T\n",
+		 name, expr, op_symbol_code (comp_code), val);
 }
 
 /* If NAME doesn't have an ASSERT_EXPR registered for asserting
Index: gcc/gimple-ssa-evrp-analyze.c
===================================================================
--- gcc/gimple-ssa-evrp-analyze.c	(revision 265420)
+++ gcc/gimple-ssa-evrp-analyze.c	(working copy)
@@ -209,9 +209,7 @@ evrp_range_analyzer::record_ranges_from_
 	      value_range *old_vr = get_value_range (vrs[i].first);
 	      value_range tem (old_vr->kind (), old_vr->min (), old_vr->max ());
 	      tem.intersect (vrs[i].second);
-	      if (tem.kind () == old_vr->kind ()
-		  && tem.min () == old_vr->min ()
-		  && tem.max () == old_vr->max ())
+	      if (tem.ignore_equivs_equal_p (*old_vr))
 		continue;
 	      push_value_range (vrs[i].first, vrs[i].second);
 	      if (is_fallthru


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]