From 8b435339f60a4c904ba9b263b6f3a67ab2fade30 Mon Sep 17 00:00:00 2001 From: kazu Date: Mon, 17 Apr 2006 12:42:37 +0000 Subject: [PATCH] * alias.c (alias_sets): Change the type to VEC(alias_set_entry,gc) *. (get_alias_set_entry, new_alias_set, record_alias_subset): Use VEC instead of VARRAY. (last_alias_set): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113005 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/alias.c | 20 ++++++++++---------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 275cf27..201d217 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -5,6 +5,12 @@ (REG_BASE_VALUE, find_base_value, record_set, init_alias_analysis): Use VEC instead of VARRAY. + * alias.c (alias_sets): Change the type to + VEC(alias_set_entry,gc) *. + (get_alias_set_entry, new_alias_set, record_alias_subset): Use + VEC instead of VARRAY. + (last_alias_set): Remove. + 2006-04-16 Roger Sayle PR target/26961 diff --git a/gcc/alias.c b/gcc/alias.c index c5ea1c1..db8555f 100644 --- a/gcc/alias.c +++ b/gcc/alias.c @@ -248,8 +248,11 @@ static bool *reg_known_equiv_p; NOTE_INSN_FUNCTION_BEG note. */ static bool copying_arguments; +DEF_VEC_P(alias_set_entry); +DEF_VEC_ALLOC_P(alias_set_entry,gc); + /* The splay-tree used to store the various alias set entries. */ -static GTY ((param_is (struct alias_set_entry))) varray_type alias_sets; +static GTY (()) VEC(alias_set_entry,gc) *alias_sets; /* Returns a pointer to the alias set entry for ALIAS_SET, if there is such an entry, or NULL otherwise. */ @@ -257,7 +260,7 @@ static GTY ((param_is (struct alias_set_entry))) varray_type alias_sets; static inline alias_set_entry get_alias_set_entry (HOST_WIDE_INT alias_set) { - return (alias_set_entry)VARRAY_GENERIC_PTR (alias_sets, alias_set); + return VEC_index (alias_set_entry, alias_sets, alias_set); } /* Returns nonzero if the alias sets for MEM1 and MEM2 are such that @@ -622,18 +625,15 @@ get_alias_set (tree t) /* Return a brand-new alias set. */ -static GTY(()) HOST_WIDE_INT last_alias_set; - HOST_WIDE_INT new_alias_set (void) { if (flag_strict_aliasing) { - if (!alias_sets) - VARRAY_GENERIC_PTR_INIT (alias_sets, 10, "alias sets"); - else - VARRAY_GROW (alias_sets, last_alias_set + 2); - return ++last_alias_set; + if (alias_sets == 0) + VEC_safe_push (alias_set_entry, gc, alias_sets, 0); + VEC_safe_push (alias_set_entry, gc, alias_sets, 0); + return VEC_length (alias_set_entry, alias_sets) - 1; } else return 0; @@ -675,7 +675,7 @@ record_alias_subset (HOST_WIDE_INT superset, HOST_WIDE_INT subset) superset_entry->children = splay_tree_new_ggc (splay_tree_compare_ints); superset_entry->has_zero_child = 0; - VARRAY_GENERIC_PTR (alias_sets, superset) = superset_entry; + VEC_replace (alias_set_entry, alias_sets, superset, superset_entry); } if (subset == 0) -- 2.7.4