diff options
author | Jan Hubicka <jh@suse.cz> | 2004-09-04 00:38:33 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2004-09-03 22:38:33 +0000 |
commit | 80d8221e0c34594db9939116db262200b4b7c242 (patch) | |
tree | e59551e0e65a59fe649b0f87ddc5560204162a2f /gcc/tree-ssa.c | |
parent | bb1058e4c2866efcfb59d127081e6afceaa16fd8 (diff) | |
download | gcc-80d8221e0c34594db9939116db262200b4b7c242.zip gcc-80d8221e0c34594db9939116db262200b4b7c242.tar.gz gcc-80d8221e0c34594db9939116db262200b4b7c242.tar.bz2 |
cfg.c (free_edge): Use ggc_free.
2004-09-04 Jan Hubicka <jh@suse.cz>
* cfg.c (free_edge): Use ggc_free.
(expunge_block): Use ggc_free.
* passes.c (rest_of_clean_state): Free after compilation.
* tree-ssa.c (delete_tree_ssa): Free annotations; call release_defs
* tree-ssanames.c (release_defs): Ignore non-SSA_NAME arguments.
From-SVN: r87058
Diffstat (limited to 'gcc/tree-ssa.c')
-rw-r--r-- | gcc/tree-ssa.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c index 13104fd..f6037c2 100644 --- a/gcc/tree-ssa.c +++ b/gcc/tree-ssa.c @@ -641,13 +641,22 @@ delete_tree_ssa (void) /* Remove annotations from every tree in the function. */ FOR_EACH_BB (bb) for (bsi = bsi_start (bb); !bsi_end_p (bsi); bsi_next (&bsi)) - bsi_stmt (bsi)->common.ann = NULL; + { + tree stmt = bsi_stmt (bsi); + release_defs (stmt); + ggc_free (stmt->common.ann); + stmt->common.ann = NULL; + } /* Remove annotations from every referenced variable. */ if (referenced_vars) { for (i = 0; i < num_referenced_vars; i++) - referenced_var (i)->common.ann = NULL; + { + tree var = referenced_var (i); + ggc_free (var->common.ann); + var->common.ann = NULL; + } referenced_vars = NULL; } |