summaryrefslogtreecommitdiff
path: root/gcc/matrix-reorg.c
diff options
context:
space:
mode:
authormueller <mueller@138bc75d-0d04-0410-961f-82ee72b054a4>2007-07-15 11:45:30 +0000
committermueller <mueller@138bc75d-0d04-0410-961f-82ee72b054a4>2007-07-15 11:45:30 +0000
commit5a30047cc1166eb6ec0def314673f9535c5d44b7 (patch)
treeee710b19d6216c4dec1c96e78150fde55e460e43 /gcc/matrix-reorg.c
parent4f24072606b69a8fbb28eb194bb7c79a5f3abb1c (diff)
downloadgcc-5a30047cc1166eb6ec0def314673f9535c5d44b7.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126653 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/matrix-reorg.c')
-rw-r--r--gcc/matrix-reorg.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/matrix-reorg.c b/gcc/matrix-reorg.c
index 5b54fe0d81e..0cff06f1ee2 100644
--- a/gcc/matrix-reorg.c
+++ b/gcc/matrix-reorg.c
@@ -1481,10 +1481,13 @@ check_allocation_function (void **slot, void *data ATTRIBUTE_UNUSED)
block_stmt_iterator bsi;
basic_block bb_level_0;
struct matrix_info *mi = *slot;
- sbitmap visited = sbitmap_alloc (num_ssa_names);
+ sbitmap visited;
if (!mi->malloc_for_level)
return 1;
+
+ visited = sbitmap_alloc (num_ssa_names);
+
/* Do nothing if the current function is not the allocation
function of MI. */
if (mi->allocation_function_decl != current_function_decl