aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBin Cheng <bin.cheng@arm.com>2017-10-10 13:58:30 +0000
committerBin Cheng <amker@gcc.gnu.org>2017-10-10 13:58:30 +0000
commit2fe1a1b888e204fd0ccc4e9c96b7065344e879aa (patch)
tree192ae83cc0b42393777e1257126d93dc5903271d /gcc
parentfb1fe1f3cc3a65f3734c29b4a2280f93b76eb7cc (diff)
downloadgcc-2fe1a1b888e204fd0ccc4e9c96b7065344e879aa.zip
gcc-2fe1a1b888e204fd0ccc4e9c96b7065344e879aa.tar.gz
gcc-2fe1a1b888e204fd0ccc4e9c96b7065344e879aa.tar.bz2
tree-vect-loop-manip.c (rename_variables_in_bb): Rename PHI nodes when copying loop nest with only one inner loop.
* tree-vect-loop-manip.c (rename_variables_in_bb): Rename PHI nodes when copying loop nest with only one inner loop. gcc/testsuite * gcc.dg/tree-ssa/ldist-34.c: New test. From-SVN: r253586
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ldist-34.c15
-rw-r--r--gcc/tree-vect-loop-manip.c2
4 files changed, 24 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f7f41ed..ed48727 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2017-10-10 Bin Cheng <bin.cheng@arm.com>
+
+ * tree-vect-loop-manip.c (rename_variables_in_bb): Rename PHI nodes
+ when copying loop nest with only one inner loop.
+
2017-10-10 Richard Biener <rguenther@suse.de>
* tree-cfgcleanup.c (cleanup_tree_cfg_noloop): Avoid compacting
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index ee9d34c..78a0cc4 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,9 @@
2017-10-10 Bin Cheng <bin.cheng@arm.com>
+ * gcc.dg/tree-ssa/ldist-34.c: New test.
+
+2017-10-10 Bin Cheng <bin.cheng@arm.com>
+
* gcc.dg/tree-ssa/ldist-27.c: New test.
2017-10-09 Ed Schonberg <schonberg@adacore.com>
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ldist-34.c b/gcc/testsuite/gcc.dg/tree-ssa/ldist-34.c
new file mode 100644
index 0000000..3d68a85
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-ssa/ldist-34.c
@@ -0,0 +1,15 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -ftree-loop-distribution" } */
+
+#define X (3.0)
+int b, c;
+double a[30000];
+int foo () {
+ for (int i = 0; i < 100; ++i) {
+ for (int j = 0; j < c; ++j)
+ if (b)
+ a[0] = b;
+ a[i * 100] = a[1] = X;
+ }
+ return 0;
+}
diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c
index fb73a885..d608533 100644
--- a/gcc/tree-vect-loop-manip.c
+++ b/gcc/tree-vect-loop-manip.c
@@ -117,8 +117,6 @@ rename_variables_in_bb (basic_block bb, bool rename_from_outer_loop)
|| single_pred (e->src) != outer_loop->header)
continue;
}
- else
- continue;
}
}
for (gphi_iterator gsi = gsi_start_phis (bb); !gsi_end_p (gsi);