aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-ssa.c')
-rw-r--r--gcc/tree-ssa.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c
index ac4e233..e4a5ba1 100644
--- a/gcc/tree-ssa.c
+++ b/gcc/tree-ssa.c
@@ -786,7 +786,7 @@ err:
void
init_tree_ssa (void)
{
- VARRAY_TREE_INIT (referenced_vars, 20, "referenced_vars");
+ referenced_vars = VEC_alloc (tree, gc, 20);
call_clobbered_vars = BITMAP_ALLOC (NULL);
addressable_vars = BITMAP_ALLOC (NULL);
init_ssanames ();
@@ -827,16 +827,13 @@ delete_tree_ssa (void)
}
/* Remove annotations from every referenced variable. */
- if (referenced_vars)
+ for (i = 0; i < num_referenced_vars; i++)
{
- for (i = 0; i < num_referenced_vars; i++)
- {
- tree var = referenced_var (i);
- ggc_free (var->common.ann);
- var->common.ann = NULL;
- }
- referenced_vars = NULL;
+ tree var = referenced_var (i);
+ ggc_free (var->common.ann);
+ var->common.ann = NULL;
}
+ VEC_free (tree, gc, referenced_vars);
fini_ssanames ();
fini_phinodes ();