aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2016-07-12 16:54:52 +0200
committerMartin Liska <marxin@gcc.gnu.org>2016-07-12 14:54:52 +0000
commit5548d9cd190fae2112e410b8ff91b09ec03f19e9 (patch)
tree7000c87fdc09a7464877f850d109d13ff2511dc6 /gcc
parent7cbadfdced9aa8208b4450538402f5f2206b8423 (diff)
downloadgcc-5548d9cd190fae2112e410b8ff91b09ec03f19e9.zip
gcc-5548d9cd190fae2112e410b8ff91b09ec03f19e9.tar.gz
gcc-5548d9cd190fae2112e410b8ff91b09ec03f19e9.tar.bz2
re PR rtl-optimization/71634 (Invalid write with in mark_loops_for_removal (ira-build.c:2256) with --param ira-max-loops-num=0)
Fix PR rtl-optimization/71634 * ira-build.c (mark_loops_for_removal): Properly iterate loops. From-SVN: r238247
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/ira-build.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8776f74..509e855 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2016-07-12 Martin Liska <mliska@suse.cz>
+
+ * ira-build.c (mark_loops_for_removal): Properly iterate
+ loops.
+
2016-07-12 Steven Bosscher <steven@gcc.gnu.org>
Richard Biener <rguenther@suse.de>
diff --git a/gcc/ira-build.c b/gcc/ira-build.c
index 37aa185..caa770e 100644
--- a/gcc/ira-build.c
+++ b/gcc/ira-build.c
@@ -2251,7 +2251,7 @@ mark_loops_for_removal (void)
);
}
qsort (sorted_loops, n, sizeof (ira_loop_tree_node_t), loop_compare_func);
- for (i = 0; n - i + 1 > IRA_MAX_LOOPS_NUM; i++)
+ for (i = 0; i < n - IRA_MAX_LOOPS_NUM; i++)
{
sorted_loops[i]->to_remove_p = true;
if (internal_flag_ira_verbose > 1 && ira_dump_file != NULL)