aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-data-refs.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2012-08-17 07:51:31 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2012-08-17 07:51:31 +0000
commitc7e62a2691e3b8c9aef74f7fe25ca00ac72ce6b7 (patch)
tree68c063d8431ef5c64a9a300089536f29b8aeec04 /gcc/tree-vect-data-refs.c
parent62205bebb08d83b461c7ed8073dd9b10eabe2f12 (diff)
downloadgcc-c7e62a2691e3b8c9aef74f7fe25ca00ac72ce6b7.zip
gcc-c7e62a2691e3b8c9aef74f7fe25ca00ac72ce6b7.tar.gz
gcc-c7e62a2691e3b8c9aef74f7fe25ca00ac72ce6b7.tar.bz2
tree-sra.c (modify_function): Free redirect_callers vector.
2012-08-17 Richard Guenther <rguenther@suse.de> * 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
Diffstat (limited to 'gcc/tree-vect-data-refs.c')
-rw-r--r--gcc/tree-vect-data-refs.c8
1 files changed, 7 insertions, 1 deletions
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);
}