Patchwork Avoid freed memory use in loop distribution

login
register
mail settings
Submitter Jan Hubicka
Date Jan. 1, 2011, 1:27 p.m.
Message ID <20110101132733.GB6040@kam.mff.cuni.cz>
Download mbox | patch
Permalink /patch/77140/
State New
Headers show

Comments

Jan Hubicka - Jan. 1, 2011, 1:27 p.m.
Hi,
tree_loop_distribution displays loop number after the loop was removed
resulting in uninitialized memory use.  Fixed as obvoius.

Honza

Patch

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 168390)
+++ ChangeLog	(working copy)
@@ -1,3 +1,8 @@ 
+2011-01-01  Jan Hubicka  <jh@suse.cz>
+
+	* tree-loop-distribution.c (tree_loop_distribution): Do not
+	use freed memory.
+
 2011-01-01  Kai Tietz  <kai.tietz@onevision.com>
 
 	PR target/38662
Index: tree-loop-distribution.c
===================================================================
--- tree-loop-distribution.c	(revision 168390)
+++ tree-loop-distribution.c	(working copy)
@@ -1214,6 +1214,7 @@  tree_loop_distribution (void)
   FOR_EACH_LOOP (li, loop, 0)
     {
       VEC (gimple, heap) *work_list = NULL;
+      int num = loop->num;
 
       /* If the loop doesn't have a single exit we will fail anyway,
 	 so do that early.  */
@@ -1255,9 +1256,9 @@  tree_loop_distribution (void)
 	{
 	  if (nb_generated_loops > 1)
 	    fprintf (dump_file, "Loop %d distributed: split to %d loops.\n",
-		     loop->num, nb_generated_loops);
+		     num, nb_generated_loops);
 	  else
-	    fprintf (dump_file, "Loop %d is the same.\n", loop->num);
+	    fprintf (dump_file, "Loop %d is the same.\n", num);
 	}
 
       verify_loop_structure ();