diff options
author | Richard Guenther <rguenther@suse.de> | 2011-04-28 09:55:41 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2011-04-28 09:55:41 +0000 |
commit | 6ecde111c12993f6aace9f151b30e1d9dbcfd8be (patch) | |
tree | 8a64157da17f8fbd452844fe738e6b774e1baaa1 /gcc | |
parent | a6343f618b2c05d0212b61b8a038f348c44f7a82 (diff) | |
download | gcc-6ecde111c12993f6aace9f151b30e1d9dbcfd8be.zip gcc-6ecde111c12993f6aace9f151b30e1d9dbcfd8be.tar.gz gcc-6ecde111c12993f6aace9f151b30e1d9dbcfd8be.tar.bz2 |
re PR tree-optimization/40052 (missed optimizations on (extended) logical types: (x | 1) --> 1)
2011-04-28 Richard Guenther <rguenther@suse.de>
PR tree-optimization/40052
PR tree-optimization/15347
* gcc.dg/tree-ssa/vrp57.c: New testcase.
* gcc.dg/pr15347.c: Likewise.
From-SVN: r173064
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr15347.c | 10 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/vrp57.c | 17 |
3 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9891d22..7f3804b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2011-04-28 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/40052 + PR tree-optimization/15347 + * gcc.dg/tree-ssa/vrp57.c: New testcase. + * gcc.dg/pr15347.c: Likewise. + 2011-04-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/48530 diff --git a/gcc/testsuite/gcc.dg/pr15347.c b/gcc/testsuite/gcc.dg/pr15347.c new file mode 100644 index 0000000..b95b0ea --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr15347.c @@ -0,0 +1,10 @@ +/* { dg-do link } */ + +extern void link_error (void); +int +main () +{ + if ("<12ers" + 1 == 0) + link_error (); + return 0; +} diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp57.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp57.c new file mode 100644 index 0000000..c736adc --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp57.c @@ -0,0 +1,17 @@ +/* PR40052 */ +/* { dg-do compile } */ +/* { dg-options "-O -ftree-vrp -fdump-tree-optimized" } */ + +int foo(_Bool b) +{ + return b | 1; +} + +int bar(_Bool b) +{ + return b & -2; +} + +/* { dg-final { scan-tree-dump "return 0;" "optimized" } } */ +/* { dg-final { scan-tree-dump "return 1;" "optimized" } } */ +/* { dg-final { cleanup-tree-dump "optimized" } } */ |