summaryrefslogtreecommitdiff
path: root/gcc/modulo-sched.c
diff options
context:
space:
mode:
authorUttam Pawar <uttamp@us.ibm.com>2006-02-15 14:33:33 -0500
committerDavid Edelsohn <dje@gcc.gnu.org>2006-02-15 14:33:33 -0500
commitf4daf7e44e61ed8987d419a692015de25405be70 (patch)
tree85a04c4c6472b196d5500b4a0eef2a9432fb0107 /gcc/modulo-sched.c
parentf7ca46d66f50f2520120a859b8a7c01eca6bcb23 (diff)
downloadgcc-f4daf7e44e61ed8987d419a692015de25405be70.tar.gz
re PR rtl-optimization/26184 (memory leaks in swing modulo scheduling function)
2006-02-15 Uttam Pawar <uttamp@us.ibm.com> PR rtl-optimization/26184 * modulo-sched.c (generate_reg_moves): Free bitmap vector uses_of_defs. * modulo-sched.c (sms_schedule): Free g_arr pointer. * modulo-sched.c (sms_schedule_by_order): Free bitmap pointers must_precede, must_follow and tobe_scheduled. PR other/26147 * opts.c (common_handle_option): Free new_option pointer. * df-core.c (df_analyze): Free postorder pointer. From-SVN: r111114
Diffstat (limited to 'gcc/modulo-sched.c')
-rw-r--r--gcc/modulo-sched.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/modulo-sched.c b/gcc/modulo-sched.c
index 86bf1a3a14f..fdba7300da7 100644
--- a/gcc/modulo-sched.c
+++ b/gcc/modulo-sched.c
@@ -531,6 +531,7 @@ generate_reg_moves (partial_schedule_ptr ps)
prev_reg = new_reg;
}
+ sbitmap_vector_free (uses_of_defs);
}
return reg_move_replaces;
}
@@ -1259,6 +1260,8 @@ sms_schedule (void)
free_ddg (g);
}
+ free (g_arr);
+
/* Release scheduler data, needed until now because of DFA. */
sched_finish ();
loop_optimizer_finalize (loops);
@@ -1607,6 +1610,9 @@ sms_schedule_by_order (ddg_ptr g, int mii, int maxii, int *nodes_order)
} /* While try_again_with_larger_ii. */
sbitmap_free (sched_nodes);
+ sbitmap_free (must_precede);
+ sbitmap_free (must_follow);
+ sbitmap_free (tobe_scheduled);
if (ii >= maxii)
{