aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2015-07-10 07:53:06 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2015-07-10 07:53:06 +0000
commit9d0862bf58535670c144a264d3c567f74cbf1565 (patch)
treeaa3837c7898b7d28284a981cb9c95e87efffa6cf
parent3baeecac5fbccd8f32e0a2938290693aa18264ac (diff)
downloadgcc-9d0862bf58535670c144a264d3c567f74cbf1565.zip
gcc-9d0862bf58535670c144a264d3c567f74cbf1565.tar.gz
gcc-9d0862bf58535670c144a264d3c567f74cbf1565.tar.bz2
re PR tree-optimization/66823 (-ftree-loop-if-convert-stores miscompiles gfortran.dg/elemental_optional_args_3.f90)
2015-07-10 Richard Biener <rguenther@suse.de> PR tree-optimization/66823 * tree-if-conv.c (memrefs_read_or_written_unconditionally): Fix inverted predicate. * gcc.dg/vect/pr61194.c: Remove -ftree-loop-if-convert-stores which should not be necessary. XFAIL. From-SVN: r225652
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gcc.dg/vect/pr61194.c3
-rw-r--r--gcc/tree-if-conv.c2
4 files changed, 14 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 43687fe..3eabd3c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2015-07-10 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66823
+ * tree-if-conv.c (memrefs_read_or_written_unconditionally): Fix
+ inverted predicate.
+
2015-07-09 Steve Ellcey <sellcey@imgtec.com>
* config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): Update
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index abdf817..30717ce 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2015-07-10 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66823
+ * gcc.dg/vect/pr61194.c: Remove -ftree-loop-if-convert-stores
+ which should not be necessary. XFAIL.
+
2015-07-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/64848
diff --git a/gcc/testsuite/gcc.dg/vect/pr61194.c b/gcc/testsuite/gcc.dg/vect/pr61194.c
index 2ec2200..8d74e00 100644
--- a/gcc/testsuite/gcc.dg/vect/pr61194.c
+++ b/gcc/testsuite/gcc.dg/vect/pr61194.c
@@ -1,5 +1,4 @@
/* { dg-require-effective-target vect_cond_mixed } */
-/* { dg-additional-options "-ftree-loop-if-convert-stores" } */
#include "tree-vect.h"
@@ -39,4 +38,4 @@ int main()
return 0;
}
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail *-*-* } } } */
diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c
index 93d30ef..ef2612c9 100644
--- a/gcc/tree-if-conv.c
+++ b/gcc/tree-if-conv.c
@@ -642,7 +642,7 @@ memrefs_read_or_written_unconditionally (gimple stmt,
|| TREE_CODE (ref_base_b) == REALPART_EXPR)
ref_base_b = TREE_OPERAND (ref_base_b, 0);
- if (!operand_equal_p (ref_base_a, ref_base_b, 0))
+ if (operand_equal_p (ref_base_a, ref_base_b, 0))
{
tree cb = bb_predicate (gimple_bb (DR_STMT (b)));