From: Richard Guenther Date: Fri, 29 Jun 2012 14:27:24 +0000 (+0000) Subject: re PR tree-optimization/47061 (VRP doesn't propagate through x<<=1, but it does for... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7211c82f34d7962c2af32da025aa55c4c858e528;p=gcc.git re PR tree-optimization/47061 (VRP doesn't propagate through x<<=1, but it does for x*=2) 2012-06-29 Richard Guenther PR tree-optimization/47061 * gcc.dg/tree-ssa/vrp71.c: New testcase. From-SVN: r189076 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7fd300e3eee..556da4d6a1a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2012-06-29 Richard Guenther + + PR tree-optimization/47061 + * gcc.dg/tree-ssa/vrp71.c: New testcase. + 2012-06-29 Richard Guenther PR tree-optimization/37541 diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp71.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp71.c new file mode 100644 index 00000000000..2d1a2402995 --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp71.c @@ -0,0 +1,22 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -fdump-tree-vrp1" } */ + +int foo(int *p) +{ + int x = -10; + if (p[0]) x++; + if (p[1]) x++; + if (p[2]) x++; + if (p[3]) x++; + x <<= 2; + return (x > 0); +} + +int bar(char c) +{ + int i = c << 1; + return i > 1000; +} + +/* { dg-final { scan-tree-dump-times "return 0;" 2 "vrp1" } } */ +/* { dg-final { cleanup-tree-dump "vrp1" } } */