aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKazu Hirata <kazu@codesourcery.com>2005-12-30 23:57:30 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2005-12-30 23:57:30 +0000
commit1f452424313d538719899bead8608ba567e05041 (patch)
tree552dfeddfb88c26ea64400843d4c7e4598f0a949
parentc90186eb1a6524b144a0268f75e5bb197d18c4be (diff)
downloadgcc-1f452424313d538719899bead8608ba567e05041.zip
gcc-1f452424313d538719899bead8608ba567e05041.tar.gz
gcc-1f452424313d538719899bead8608ba567e05041.tar.bz2
tree-outof-ssa.c (_elim_graph): Change the type of STACK to VEC(int,heap).
* tree-outof-ssa.c (_elim_graph): Change the type of STACK to VEC(int,heap). (new_elim_graph, delete_elim_graph, elim_forward, eliminate_phi): Use the VEC API on STACK. From-SVN: r109182
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/tree-outof-ssa.c14
2 files changed, 14 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 43dc427..76a237d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2005-12-30 Kazu Hirata <kazu@codesourcery.com>
+
+ * tree-outof-ssa.c (_elim_graph): Change the type of STACK to
+ VEC(int,heap).
+ (new_elim_graph, delete_elim_graph, elim_forward,
+ eliminate_phi): Use the VEC API on STACK.
+
2005-12-29 Daniel Berlin <dberlin@dberlin.org>
* tree.h (VALUE_HANDLE_VUSES): New.
diff --git a/gcc/tree-outof-ssa.c b/gcc/tree-outof-ssa.c
index ae93bca..6431b45 100644
--- a/gcc/tree-outof-ssa.c
+++ b/gcc/tree-outof-ssa.c
@@ -91,7 +91,7 @@ typedef struct _elim_graph {
sbitmap visited;
/* Stack for visited nodes. */
- varray_type stack;
+ VEC(int,heap) *stack;
/* The variable partition map. */
var_map map;
@@ -224,7 +224,7 @@ new_elim_graph (int size)
g->nodes = VEC_alloc (tree, heap, 30);
g->const_copies = VEC_alloc (tree, heap, 20);
g->edge_list = VEC_alloc (int, heap, 20);
- VARRAY_INT_INIT (g->stack, 30, " Elimination Stack");
+ g->stack = VEC_alloc (int, heap, 30);
g->visited = sbitmap_alloc (size);
@@ -248,6 +248,7 @@ static inline void
delete_elim_graph (elim_graph g)
{
sbitmap_free (g->visited);
+ VEC_free (int, heap, g->stack);
VEC_free (int, heap, g->edge_list);
VEC_free (tree, heap, g->const_copies);
VEC_free (tree, heap, g->nodes);
@@ -418,7 +419,7 @@ elim_forward (elim_graph g, int T)
if (!TEST_BIT (g->visited, S))
elim_forward (g, S);
});
- VARRAY_PUSH_INT (g->stack, T);
+ VEC_safe_push (int, heap, g->stack, T);
}
@@ -514,7 +515,7 @@ eliminate_phi (edge e, elim_graph g)
tree var;
sbitmap_zero (g->visited);
- VARRAY_POP_ALL (g->stack);
+ VEC_truncate (int, g->stack, 0);
for (x = 0; VEC_iterate (tree, g->nodes, x, var); x++)
{
@@ -524,10 +525,9 @@ eliminate_phi (edge e, elim_graph g)
}
sbitmap_zero (g->visited);
- while (VARRAY_ACTIVE_SIZE (g->stack) > 0)
+ while (VEC_length (int, g->stack) > 0)
{
- x = VARRAY_TOP_INT (g->stack);
- VARRAY_POP (g->stack);
+ x = VEC_pop (int, g->stack);
if (!TEST_BIT (g->visited, x))
elim_create (g, x);
}