OSDN Git Service

* alias.c (alias_sets): Change the type to
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 17 Apr 2006 12:42:37 +0000 (12:42 +0000)
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 17 Apr 2006 12:42:37 +0000 (12:42 +0000)
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
gcc/alias.c

index 275cf27..201d217 100644 (file)
@@ -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  <roger@eyesopen.com>
 
        PR target/26961
index c5ea1c1..db8555f 100644 (file)
@@ -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;
 \f
 /* 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)