summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-live.c
diff options
context:
space:
mode:
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2006-04-12 17:19:23 +0000
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2006-04-12 17:19:23 +0000
commit8c02312e4b30cbd0ff1a8d32bf567a0016e9283e (patch)
tree11f379d8dd19e84315d94096c16870aa09611e0c /gcc/tree-ssa-live.c
parent9bbeacce04ed0d151f2f3d58fe709ae1ce2159dc (diff)
downloadgcc-8c02312e4b30cbd0ff1a8d32bf567a0016e9283e.tar.gz
* Makefile.in (TREE_SSA_LIVE_H): Add vecprim.h.
* tree-ssa-live.c (tpa_init, tpa_remove_partition, tpa_delete, tpa_compact, root_var_init, type_var_init): Use VEC instead of VARRAY. * tree-ssa-live.h: Include vecprim.h. (tree_partition_associator_d): Change the type of first_partition to VEC(int,heap) *. (tpa_first_partition): Use VEC instead of VARRAY. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112893 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-live.c')
-rw-r--r--gcc/tree-ssa-live.c28
1 files changed, 15 insertions, 13 deletions
diff --git a/gcc/tree-ssa-live.c b/gcc/tree-ssa-live.c
index 84abc967c34..a5fe403ef53 100644
--- a/gcc/tree-ssa-live.c
+++ b/gcc/tree-ssa-live.c
@@ -882,7 +882,7 @@ tpa_init (var_map map)
x = MAX (40, (num_partitions / 20));
tpa->trees = VEC_alloc (tree, heap, x);
- VARRAY_INT_INIT (tpa->first_partition, x, "first_partition");
+ tpa->first_partition = VEC_alloc (int, heap, x);
return tpa;
@@ -899,7 +899,8 @@ tpa_remove_partition (tpa_p tpa, int tree_index, int partition_index)
i = tpa_first_partition (tpa, tree_index);
if (i == partition_index)
{
- VARRAY_INT (tpa->first_partition, tree_index) = tpa->next_partition[i];
+ VEC_replace (int, tpa->first_partition, tree_index,
+ tpa->next_partition[i]);
}
else
{
@@ -924,6 +925,7 @@ tpa_delete (tpa_p tpa)
return;
VEC_free (tree, heap, tpa->trees);
+ VEC_free (int, heap, tpa->first_partition);
free (tpa->partition_to_tree_map);
free (tpa->next_partition);
free (tpa);
@@ -958,20 +960,20 @@ tpa_compact (tpa_p tpa)
if (tpa_next_partition (tpa, first) == NO_PARTITION)
{
swap_t = VEC_index (tree, tpa->trees, last);
- swap_i = VARRAY_INT (tpa->first_partition, last);
+ swap_i = VEC_index (int, tpa->first_partition, last);
/* Update the last entry. Since it is known to only have one
partition, there is nothing else to update. */
VEC_replace (tree, tpa->trees, last,
VEC_index (tree, tpa->trees, x));
- VARRAY_INT (tpa->first_partition, last)
- = VARRAY_INT (tpa->first_partition, x);
+ VEC_replace (int, tpa->first_partition, last,
+ VEC_index (int, tpa->first_partition, x));
tpa->partition_to_tree_map[tpa_first_partition (tpa, last)] = last;
/* Since this list is known to have more than one partition, update
the list owner entries. */
VEC_replace (tree, tpa->trees, x, swap_t);
- VARRAY_INT (tpa->first_partition, x) = swap_i;
+ VEC_replace (int, tpa->first_partition, x, swap_i);
for (y = tpa_first_partition (tpa, x);
y != NO_PARTITION;
y = tpa_next_partition (tpa, y))
@@ -1041,16 +1043,16 @@ root_var_init (var_map map)
ann = var_ann (t);
if (ann->root_var_processed)
{
- rv->next_partition[p] = VARRAY_INT (rv->first_partition,
- VAR_ANN_ROOT_INDEX (ann));
- VARRAY_INT (rv->first_partition, VAR_ANN_ROOT_INDEX (ann)) = p;
+ rv->next_partition[p] = VEC_index (int, rv->first_partition,
+ VAR_ANN_ROOT_INDEX (ann));
+ VEC_replace (int, rv->first_partition, VAR_ANN_ROOT_INDEX (ann), p);
}
else
{
ann->root_var_processed = 1;
VAR_ANN_ROOT_INDEX (ann) = rv->num_trees++;
VEC_safe_push (tree, heap, rv->trees, t);
- VARRAY_PUSH_INT (rv->first_partition, p);
+ VEC_safe_push (int, heap, rv->first_partition, p);
}
rv->partition_to_tree_map[p] = VAR_ANN_ROOT_INDEX (ann);
}
@@ -1120,12 +1122,12 @@ type_var_init (var_map map)
{
tv->num_trees++;
VEC_safe_push (tree, heap, tv->trees, t);
- VARRAY_PUSH_INT (tv->first_partition, p);
+ VEC_safe_push (int, heap, tv->first_partition, p);
}
else
{
- tv->next_partition[p] = VARRAY_INT (tv->first_partition, y);
- VARRAY_INT (tv->first_partition, y) = p;
+ tv->next_partition[p] = VEC_index (int, tv->first_partition, y);
+ VEC_replace (int, tv->first_partition, y, p);
}
tv->partition_to_tree_map[p] = y;
}