From c7e62a2691e3b8c9aef74f7fe25ca00ac72ce6b7 Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Fri, 17 Aug 2012 07:51:31 +0000 Subject: tree-sra.c (modify_function): Free redirect_callers vector. 2012-08-17 Richard Guenther * tree-sra.c (modify_function): Free redirect_callers vector. * ipa-split.c (split_function): Free args_to_pass vector. * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Free body_cost_vec properly. (vect_enhance_data_refs_alignment): Likewise. * tree-vect-stmts.c (vectorizable_operation): Do not pre-allocate vec_oprnds. (new_stmt_vec_info): Do not pre-allocate STMT_VINFO_SAME_ALIGN_REFS. * tree-vect-slp.c (vect_free_slp_instance): Free the instance. (vect_analyze_slp_instance): Free everything. (destroy_bb_vec_info): Free the SLP instances. From-SVN: r190469 --- gcc/tree-vect-data-refs.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'gcc/tree-vect-data-refs.c') diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c index 6a02986..4df2e50 100644 --- a/gcc/tree-vect-data-refs.c +++ b/gcc/tree-vect-data-refs.c @@ -1368,6 +1368,7 @@ vect_peeling_hash_get_lowest_cost (void **slot, void *data) { min->inside_cost = inside_cost; min->outside_cost = outside_cost; + VEC_free (stmt_info_for_cost, heap, min->body_cost_vec); min->body_cost_vec = body_cost_vec; min->peel_info.dr = elem->dr; min->peel_info.npeel = elem->npeel; @@ -1880,7 +1881,10 @@ vect_enhance_data_refs_alignment (loop_vec_info loop_vinfo) if (!stat) do_peeling = false; else - return stat; + { + VEC_free (stmt_info_for_cost, heap, body_cost_vec); + return stat; + } } if (do_peeling) @@ -1930,6 +1934,8 @@ vect_enhance_data_refs_alignment (loop_vec_info loop_vinfo) gcc_assert (stat); return stat; } + else + VEC_free (stmt_info_for_cost, heap, body_cost_vec); } -- cgit v1.1