]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR rtl-optimization/71634 (Invalid write with in mark_loops_for_removal (ira-build...
authorMartin Liska <mliska@suse.cz>
Mon, 18 Jul 2016 12:57:25 +0000 (14:57 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Mon, 18 Jul 2016 12:57:25 +0000 (12:57 +0000)
Fix PR rtl-optimization/71634

Backported from mainline
2016-07-12  Martin Liska  <mliska@suse.cz>

* ira-build.c (mark_loops_for_removal): Properly iterate
loops.

From-SVN: r238429

gcc/ChangeLog
gcc/ira-build.c

index 683efeb1a2eff09d766b42ace7ac8ad127f579c9..d87ee9b2fad06312a86ebdd291cf21e419857a02 100644 (file)
@@ -1,3 +1,12 @@
+2016-07-18  Martin Liska  <mliska@suse.cz>
+
+       Backported from mainline
+       2016-07-12  Martin Liska  <mliska@suse.cz>
+
+       PR rtl-optimization/71634
+       * ira-build.c (mark_loops_for_removal): Properly iterate
+       loops.
+
 2016-07-08  Martin Liska  <mliska@suse.cz>
 
        Backported from mainline
index 643bbe9a08befe969a65dbe99976b1ad102ab2f3..b13a87c587288eb71da502b8513b9883a0c3e1c8 100644 (file)
@@ -2277,7 +2277,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)