diff options
author | Dirk Mueller <dmueller@suse.de> | 2007-07-15 11:45:30 +0000 |
---|---|---|
committer | Dirk Mueller <mueller@gcc.gnu.org> | 2007-07-15 11:45:30 +0000 |
commit | 639d3040d458f520302f700c5bcc51412c9b47b1 (patch) | |
tree | ee710b19d6216c4dec1c96e78150fde55e460e43 /gcc/tree-vect-transform.c | |
parent | d40150cc3c1e85a9cbbaebb2679b6bac7a62ecbc (diff) | |
download | gcc-639d3040d458f520302f700c5bcc51412c9b47b1.zip gcc-639d3040d458f520302f700c5bcc51412c9b47b1.tar.gz gcc-639d3040d458f520302f700c5bcc51412c9b47b1.tar.bz2 |
omega.c (coalesce): Fix memory leak on early exit.
2007-07-15 Dirk Mueller <dmueller@suse.de>
* omega.c (coalesce): Fix memory leak on early exit.
* matrix-reorg.c (check_allocation_function): Likewise.
* tree-vect-transform.c (vect_get_new_vect_var): free result
of concat().
* bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
pass pointer to edge vector
(partition_hot_cold_basic_blocks): Fix memory leak.
* collect2.c (prefix_from_string): Free temporary storage.
* reload1.c (fixup_abnormal_edges): Free sbitmap.
From-SVN: r126653
Diffstat (limited to 'gcc/tree-vect-transform.c')
-rw-r--r-- | gcc/tree-vect-transform.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/tree-vect-transform.c b/gcc/tree-vect-transform.c index 193c549..a46ff80 100644 --- a/gcc/tree-vect-transform.c +++ b/gcc/tree-vect-transform.c @@ -671,7 +671,11 @@ vect_get_new_vect_var (tree type, enum vect_var_kind var_kind, const char *name) } if (name) - new_vect_var = create_tmp_var (type, concat (prefix, name, NULL)); + { + char* tmp = concat (prefix, name, NULL); + new_vect_var = create_tmp_var (type, tmp); + free (tmp); + } else new_vect_var = create_tmp_var (type, prefix); @@ -4443,7 +4447,7 @@ vect_transform_strided_load (tree stmt, VEC(tree,heap) *dr_chain, int size, corresponds the order of data-refs in RESULT_CHAIN. */ next_stmt = first_stmt; gap_count = 1; - for (i = 0; VEC_iterate(tree, result_chain, i, tmp_data_ref); i++) + for (i = 0; VEC_iterate (tree, result_chain, i, tmp_data_ref); i++) { if (!next_stmt) break; |