Commit f4daf7e4 by Uttam Pawar Committed by David Edelsohn

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
parent f7ca46d6
2006-02-15 Rafael vila de Espndola <rafael.espindola@gmail.com> 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.
2006-02-15 Rafael vila de Espndola <rafael.espindola@gmail.com>
* Makefile.in: Fix the examples about the use of stamps * Makefile.in: Fix the examples about the use of stamps
...@@ -3687,7 +3700,7 @@ ...@@ -3687,7 +3700,7 @@
* basic-block.h: Remove the prototype for * basic-block.h: Remove the prototype for
partition_hot_cold_basic_blocks. partition_hot_cold_basic_blocks.
2006-01-16 Rafael Ãvila de Esp�ndola <rafael.espindola@gmail.com> 2006-01-16 Rafael vila de Esp�ndola <rafael.espindola@gmail.com>
* cppspec.c (lang_specific_spec_functions): Remove. * cppspec.c (lang_specific_spec_functions): Remove.
* gcc.c (lookup_spec_function): Use static_spec_functions directly. * gcc.c (lookup_spec_function): Use static_spec_functions directly.
......
...@@ -782,6 +782,7 @@ df_analyze (struct df *df) ...@@ -782,6 +782,7 @@ df_analyze (struct df *df)
BITMAP_FREE (df->blocks_to_scan); BITMAP_FREE (df->blocks_to_scan);
df->blocks_to_scan = NULL; df->blocks_to_scan = NULL;
free (postorder);
} }
......
...@@ -531,6 +531,7 @@ generate_reg_moves (partial_schedule_ptr ps) ...@@ -531,6 +531,7 @@ generate_reg_moves (partial_schedule_ptr ps)
prev_reg = new_reg; prev_reg = new_reg;
} }
sbitmap_vector_free (uses_of_defs);
} }
return reg_move_replaces; return reg_move_replaces;
} }
...@@ -1259,6 +1260,8 @@ sms_schedule (void) ...@@ -1259,6 +1260,8 @@ sms_schedule (void)
free_ddg (g); free_ddg (g);
} }
free (g_arr);
/* Release scheduler data, needed until now because of DFA. */ /* Release scheduler data, needed until now because of DFA. */
sched_finish (); sched_finish ();
loop_optimizer_finalize (loops); loop_optimizer_finalize (loops);
...@@ -1607,6 +1610,9 @@ sms_schedule_by_order (ddg_ptr g, int mii, int maxii, int *nodes_order) ...@@ -1607,6 +1610,9 @@ sms_schedule_by_order (ddg_ptr g, int mii, int maxii, int *nodes_order)
} /* While try_again_with_larger_ii. */ } /* While try_again_with_larger_ii. */
sbitmap_free (sched_nodes); sbitmap_free (sched_nodes);
sbitmap_free (must_precede);
sbitmap_free (must_follow);
sbitmap_free (tobe_scheduled);
if (ii >= maxii) if (ii >= maxii)
{ {
......
...@@ -777,7 +777,7 @@ common_handle_option (size_t scode, const char *arg, int value, ...@@ -777,7 +777,7 @@ common_handle_option (size_t scode, const char *arg, int value,
option_index = find_opt (new_option, lang_mask); option_index = find_opt (new_option, lang_mask);
if (option_index == N_OPTS) if (option_index == N_OPTS)
{ {
error("-Werror-%s: No option -%s", arg, new_option); error ("-Werror-%s: No option -%s", arg, new_option);
} }
else else
{ {
...@@ -789,6 +789,7 @@ common_handle_option (size_t scode, const char *arg, int value, ...@@ -789,6 +789,7 @@ common_handle_option (size_t scode, const char *arg, int value,
&& cl_options[option_index].flag_var && cl_options[option_index].flag_var
&& kind == DK_ERROR) && kind == DK_ERROR)
*(int *) cl_options[option_index].flag_var = 1; *(int *) cl_options[option_index].flag_var = 1;
free (new_option);
} }
} }
break; break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment