aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr92742.c20
-rw-r--r--gcc/tree-vect-loop.c3
4 files changed, 34 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9b32421..1d342f4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2019-12-02 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/92742
+ * tree-vect-loop.c (vect_fixup_reduc_chain): Do not
+ touch the def-type but verify it is consistent with the
+ original stmts.
+
2019-12-02 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/92712
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 12abe73..03fb4d9 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2019-12-02 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/92742
+ * gcc.dg/torture/pr92742.c: New testcase.
+
2019-12-02 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/92712
diff --git a/gcc/testsuite/gcc.dg/torture/pr92742.c b/gcc/testsuite/gcc.dg/torture/pr92742.c
new file mode 100644
index 0000000..59e74c0
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr92742.c
@@ -0,0 +1,20 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-ftree-vectorize" } */
+
+unsigned int qw;
+
+int
+rs (int iq, int wg)
+{
+ for (qw = 0; qw < 2; ++qw)
+ {
+ }
+
+ while (iq < 1)
+ {
+ wg *= qw * 2;
+ ++iq;
+ }
+
+ return wg;
+}
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c
index 77c5a98..83b0e0b 100644
--- a/gcc/tree-vect-loop.c
+++ b/gcc/tree-vect-loop.c
@@ -643,6 +643,8 @@ vect_fixup_reduc_chain (stmt_vec_info stmt_info)
do
{
stmtp = STMT_VINFO_RELATED_STMT (stmt_info);
+ gcc_checking_assert (STMT_VINFO_DEF_TYPE (stmtp)
+ == STMT_VINFO_DEF_TYPE (stmt_info));
REDUC_GROUP_FIRST_ELEMENT (stmtp) = firstp;
stmt_info = REDUC_GROUP_NEXT_ELEMENT (stmt_info);
if (stmt_info)
@@ -650,7 +652,6 @@ vect_fixup_reduc_chain (stmt_vec_info stmt_info)
= STMT_VINFO_RELATED_STMT (stmt_info);
}
while (stmt_info);
- STMT_VINFO_DEF_TYPE (stmtp) = vect_reduction_def;
}
/* Fixup scalar cycles that now have their stmts detected as patterns. */