From af121e828eb03233d731b25b590d1f7c5dd2693d Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Mon, 9 Nov 2015 16:45:59 +0100 Subject: Fix memory leaks and use a pool_allocator * gcc.c (record_temp_file): Release name string. * ifcvt.c (noce_convert_multiple_sets): Use auto_vec instead of vec. * lra-lives.c (free_live_range_list): Utilize lra_live_range_pool for allocation and deallocation. (create_live_range): Likewise. (copy_live_range): Likewise. (lra_merge_live_ranges): Likewise. (remove_some_program_points_and_update_live_ranges): Likewise. (lra_create_live_ranges_1): Release point_freq_vec that can be not freed from previous iteration of the function. * tree-eh.c (lower_try_finally_switch): Use auto_vec instead of vec. * tree-sra.c (sra_deinitialize): Release all vectors in base_access_vec. * tree-ssa-dom.c (free_dom_edge_info): Make the function extern. * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Release edge_info for a removed edge. (thread_through_all_blocks): Free region vector. * tree-ssa.h (free_dom_edge_info): Declare function extern. From-SVN: r230027 --- gcc/tree-ssa-dom.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gcc/tree-ssa-dom.c') diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c index 3887bbe1..5cb2644 100644 --- a/gcc/tree-ssa-dom.c +++ b/gcc/tree-ssa-dom.c @@ -121,8 +121,8 @@ static void dump_dominator_optimization_stats (FILE *file, /* Free the edge_info data attached to E, if it exists. */ -static void -free_edge_info (edge e) +void +free_dom_edge_info (edge e) { struct edge_info *edge_info = (struct edge_info *)e->aux; @@ -142,7 +142,7 @@ allocate_edge_info (edge e) struct edge_info *edge_info; /* Free the old one, if it exists. */ - free_edge_info (e); + free_dom_edge_info (e); edge_info = XCNEW (struct edge_info); @@ -167,7 +167,7 @@ free_all_edge_infos (void) { FOR_EACH_EDGE (e, ei, bb->preds) { - free_edge_info (e); + free_dom_edge_info (e); e->aux = NULL; } } -- cgit v1.1