diff options
author | Kazu Hirata <kazu@codesourcery.com> | 2006-04-12 17:19:23 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2006-04-12 17:19:23 +0000 |
commit | dacb336e10d3679e72c7a6e3d6a3ff9601234e5e (patch) | |
tree | 11f379d8dd19e84315d94096c16870aa09611e0c /gcc | |
parent | aa9d194eec39c73ac45c617a2df0efc4435db8b7 (diff) | |
download | gcc-dacb336e10d3679e72c7a6e3d6a3ff9601234e5e.zip gcc-dacb336e10d3679e72c7a6e3d6a3ff9601234e5e.tar.gz gcc-dacb336e10d3679e72c7a6e3d6a3ff9601234e5e.tar.bz2 |
Makefile.in (TREE_SSA_LIVE_H): Add vecprim.h.
* 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.
From-SVN: r112893
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/Makefile.in | 2 | ||||
-rw-r--r-- | gcc/tree-ssa-live.c | 28 | ||||
-rw-r--r-- | gcc/tree-ssa-live.h | 5 |
4 files changed, 30 insertions, 16 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 040d8c7..d540abd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2006-04-12 Kazu Hirata <kazu@codesourcery.com> + + * 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. + 2006-04-12 Roger Sayle <roger@eyesopen.com> * expr.c (emit_group_store): Correct operand order in call to diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 48f4ddf..67fdd77 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -787,7 +787,7 @@ TREE_GIMPLE_H = tree-gimple.h tree-iterator.h TREE_FLOW_H = tree-flow.h tree-flow-inline.h tree-ssa-operands.h \ bitmap.h $(BASIC_BLOCK_H) hard-reg-set.h $(TREE_GIMPLE_H) \ $(HASHTAB_H) $(CGRAPH_H) $(IPA_REFERENCE_H) -TREE_SSA_LIVE_H = tree-ssa-live.h $(PARTITION_H) +TREE_SSA_LIVE_H = tree-ssa-live.h $(PARTITION_H) vecprim.h PRETTY_PRINT_H = pretty-print.h input.h $(OBSTACK_H) DIAGNOSTIC_H = diagnostic.h diagnostic.def $(PRETTY_PRINT_H) options.h C_PRETTY_PRINT_H = c-pretty-print.h $(PRETTY_PRINT_H) $(C_COMMON_H) $(TREE_H) diff --git a/gcc/tree-ssa-live.c b/gcc/tree-ssa-live.c index 84abc96..a5fe403 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; } diff --git a/gcc/tree-ssa-live.h b/gcc/tree-ssa-live.h index 2c41274..f0c5902 100644 --- a/gcc/tree-ssa-live.h +++ b/gcc/tree-ssa-live.h @@ -24,6 +24,7 @@ Boston, MA 02110-1301, USA. */ #define _TREE_SSA_LIVE_H 1 #include "partition.h" +#include "vecprim.h" /* Used to create the variable mapping when we go out of SSA form. */ typedef struct _var_map @@ -338,7 +339,7 @@ make_live_on_entry (tree_live_info_p live, basic_block bb , int p) typedef struct tree_partition_associator_d { VEC(tree,heap) *trees; - varray_type first_partition; + VEC(int,heap) *first_partition; int *next_partition; int *partition_to_tree_map; int num_trees; @@ -384,7 +385,7 @@ tpa_tree (tpa_p tpa, int i) static inline int tpa_first_partition (tpa_p tpa, int i) { - return VARRAY_INT (tpa->first_partition, i); + return VEC_index (int, tpa->first_partition, i); } |