aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-transform.c
diff options
context:
space:
mode:
authorDirk Mueller <dmueller@suse.de>2007-07-15 11:45:30 +0000
committerDirk Mueller <mueller@gcc.gnu.org>2007-07-15 11:45:30 +0000
commit639d3040d458f520302f700c5bcc51412c9b47b1 (patch)
treeee710b19d6216c4dec1c96e78150fde55e460e43 /gcc/tree-vect-transform.c
parentd40150cc3c1e85a9cbbaebb2679b6bac7a62ecbc (diff)
downloadgcc-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.c8
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;