Re: [PATCH] Try harder for conditional evaluation in VRP

2014-05-27 Thread Richard Biener
On Tue, 27 May 2014, Richard Biener wrote:

> On Tue, 27 May 2014, Steven Bosscher wrote:
> 
> > On Tue, May 27, 2014 at 12:27 PM, Richard Biener wrote:
> > > * tree-vrp.c 
> > > (vrp_evaluate_conditional_warnv_with_ops_using_ranges):
> > > Try using literal operands when comparing value-ranges failed.
> > 
> > No test case?
> 
> Sorry ;)  Happens to patches I uncover in my dev tree.  I'll try
> to come up with sth (I remember coding it when workin on some
> PR ... but I've lost track of which one).

Here is one (yeah, a bit artificial ...).

Committed.

Richard.

2014-05-27  Richard Biener  

* gcc.dg/tree-ssa/vrp92.c: New testcase.

Index: gcc/testsuite/gcc.dg/tree-ssa/vrp92.c
===
--- gcc/testsuite/gcc.dg/tree-ssa/vrp92.c   (revision 0)
+++ gcc/testsuite/gcc.dg/tree-ssa/vrp92.c   (working copy)
@@ -0,0 +1,23 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-vrp1-details" } */
+
+void bar (void);
+int foo (int i, int j)
+{
+  int res = 1;
+  if (i < j)
+{
+  /* We should be able to simplify the following conditional
+ during propagation.  */
+  if (i > j)
+   res = 0;
+}
+  /* And compute res as having a value-range of [1,1].  */
+  if (res)
+return i;
+  return j;
+}
+
+/* { dg-final { scan-tree-dump "res_.: \\\[1, 1\\\]" "vrp1" } } */
+/* { dg-final { scan-tree-dump-not "Threaded" "vrp1" } } */
+/* { dg-final { cleanup-tree-dump "vrp1" } } */


Re: [PATCH] Try harder for conditional evaluation in VRP

2014-05-27 Thread Richard Biener
On Tue, 27 May 2014, Steven Bosscher wrote:

> On Tue, May 27, 2014 at 12:27 PM, Richard Biener wrote:
> > * tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops_using_ranges):
> > Try using literal operands when comparing value-ranges failed.
> 
> No test case?

Sorry ;)  Happens to patches I uncover in my dev tree.  I'll try
to come up with sth (I remember coding it when workin on some
PR ... but I've lost track of which one).

Richard.


Re: [PATCH] Try harder for conditional evaluation in VRP

2014-05-27 Thread Steven Bosscher
On Tue, May 27, 2014 at 12:27 PM, Richard Biener wrote:
> * tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops_using_ranges):
> Try using literal operands when comparing value-ranges failed.

No test case?

Ciao!
Steven