aboutsummaryrefslogtreecommitdiff
path: root/gcc/omega.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/omega.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/omega.c')
-rw-r--r--gcc/omega.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/omega.c b/gcc/omega.c
index 900ca85..ed6f536 100644
--- a/gcc/omega.c
+++ b/gcc/omega.c
@@ -2454,7 +2454,7 @@ coalesce (omega_pb pb)
{
int e, e2;
int colors = 0;
- bool *is_dead = XNEWVEC (bool, OMEGA_MAX_GEQS);
+ bool *is_dead;
int found_something = 0;
for (e = 0; e < pb->num_geqs; e++)
@@ -2464,6 +2464,8 @@ coalesce (omega_pb pb)
if (colors < 2)
return;
+ is_dead = XNEWVEC (bool, OMEGA_MAX_GEQS);
+
for (e = 0; e < pb->num_geqs; e++)
is_dead[e] = false;