aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr71168.c20
-rw-r--r--gcc/tree-loop-distribution.c2
4 files changed, 32 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e71ce6d..ba2ab08 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2016-05-18 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/71168
+ * tree-loop-distribution.c (distribute_loop): Move *destroy_p
+ initialization earlier.
+
2016-05-18 James Greenhalgh <james.greenhalgh@arm.com>
* config/aarch64/aarch64-simd.md
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 87fd63a..88c6164 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2016-05-18 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/71168
+ * gcc.dg/torture/pr71168.c: New testcase.
+
2016-05-17 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/63586
diff --git a/gcc/testsuite/gcc.dg/torture/pr71168.c b/gcc/testsuite/gcc.dg/torture/pr71168.c
new file mode 100644
index 0000000..fdf4fff
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr71168.c
@@ -0,0 +1,20 @@
+/* { dg-do compile } */
+
+int a, b, c;
+long *d;
+void fn1()
+{
+ for (; 0 < a;)
+ a++;
+}
+void fn3()
+{
+ for (; c; c++)
+ d[c] = 0;
+}
+void fn2()
+{
+ if (b)
+ fn3();
+ fn1();
+}
diff --git a/gcc/tree-loop-distribution.c b/gcc/tree-loop-distribution.c
index a801348..dbc8e3c 100644
--- a/gcc/tree-loop-distribution.c
+++ b/gcc/tree-loop-distribution.c
@@ -1413,6 +1413,7 @@ distribute_loop (struct loop *loop, vec<gimple *> stmts,
graph *pg = NULL;
int num_sccs = 1;
+ *destroy_p = false;
*nb_calls = 0;
auto_vec<loop_p, 3> loop_nest;
if (!find_loop_nest (loop, &loop_nest))
@@ -1647,7 +1648,6 @@ distribute_loop (struct loop *loop, vec<gimple *> stmts,
if (dump_file && (dump_flags & TDF_DETAILS))
dump_rdg_partitions (dump_file, partitions);
- *destroy_p = false;
FOR_EACH_VEC_ELT (partitions, i, partition)
{
if (partition_builtin_p (partition))