]> 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:59:10 +0000 (14:59 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Mon, 18 Jul 2016 12:59:10 +0000 (12:59 +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: r238430

gcc/ChangeLog
gcc/ira-build.c

index 3e640861e53704e6895f0636356dca29e150aa57..971b92ef500d1f4a383fe499b587cc12aa7d82a8 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-12  Segher Boessenkool  <segher@kernel.crashing.org>
 
        Backport from mainline
index 189f340800aacf29b031e784d44816f1fa841d39..c278da428159753ace6eb4f932dadee4d6e1c981 100644 (file)
@@ -2291,7 +2291,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)