OSDN Git Service

* alias.c (alias_invariant, alias_invariant_size): Remove.
authorsteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 28 Feb 2006 21:01:20 +0000 (21:01 +0000)
committersteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 28 Feb 2006 21:01:20 +0000 (21:01 +0000)
(record_base_value): Remove.
        (memrefs_conflict_p): Don't look at alias_invariant.
        (end_alias_analysis): Don't free it.
        * alias.h (record_base_value): Remove prototype.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111574 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/alias.c
gcc/alias.h

index d37067c..2b678ab 100644 (file)
@@ -1,3 +1,11 @@
+2006-02-28  Steven Bosscher  <stevenb.gcc@gmail.com>
+
+       * alias.c (alias_invariant, alias_invariant_size): Remove.
+       (record_base_value): Remove.
+       (memrefs_conflict_p): Don't look at alias_invariant.
+       (end_alias_analysis): Don't free it.
+       * alias.h (record_base_value): Remove prototype.
+
 2006-02-28  Paolo Bonzini  <bonzini@gnu.org>
            Adam Nemet  <anemet@caviumnetworks.com>
 
index cb5f5db..5e15285 100644 (file)
@@ -222,17 +222,6 @@ static GTY (()) rtx static_reg_base_value[FIRST_PSEUDO_REGISTER];
   (reg_base_value && REGNO (X) < VARRAY_SIZE (reg_base_value) \
    ? VARRAY_RTX (reg_base_value, REGNO (X)) : 0)
 
-/* Vector of known invariant relationships between registers.  Set in
-   loop unrolling.  Indexed by register number, if nonzero the value
-   is an expression describing this register in terms of another.
-
-   The length of this array is REG_BASE_VALUE_SIZE.
-
-   Because this array contains only pseudo registers it has no effect
-   after reload.  */
-static GTY((length("alias_invariant_size"))) rtx *alias_invariant;
-static GTY(()) unsigned int alias_invariant_size;
-
 /* Vector indexed by N giving the initial (unchanging) value known for
    pseudo-register N.  This array is initialized in init_alias_analysis,
    and does not change until end_alias_analysis is called.  */
@@ -1079,31 +1068,6 @@ record_set (rtx dest, rtx set, void *data ATTRIBUTE_UNUSED)
   reg_seen[regno] = 1;
 }
 
-/* Called from loop optimization when a new pseudo-register is
-   created.  It indicates that REGNO is being set to VAL.  f INVARIANT
-   is true then this value also describes an invariant relationship
-   which can be used to deduce that two registers with unknown values
-   are different.  */
-
-void
-record_base_value (unsigned int regno, rtx val, int invariant)
-{
-  if (invariant && alias_invariant && regno < alias_invariant_size)
-    alias_invariant[regno] = val;
-
-  if (regno >= VARRAY_SIZE (reg_base_value))
-    VARRAY_GROW (reg_base_value, max_reg_num ());
-
-  if (REG_P (val))
-    {
-      VARRAY_RTX (reg_base_value, regno)
-        = REG_BASE_VALUE (val);
-      return;
-    }
-  VARRAY_RTX (reg_base_value, regno)
-     = find_base_value (val);
-}
-
 /* Clear alias info for a register.  This is used if an RTL transformation
    changes the value of a register.  This is used in flow by AUTO_INC_DEC
    optimizations.  We don't need to clear reg_base_value, since flow only
@@ -1792,25 +1756,6 @@ memrefs_conflict_p (int xsize, rtx x, int ysize, rtx y, HOST_WIDE_INT c)
          return memrefs_conflict_p (xsize, x0, ysize, y0, c);
        }
 
-      case REG:
-       /* Are these registers known not to be equal?  */
-       if (alias_invariant)
-         {
-           unsigned int r_x = REGNO (x), r_y = REGNO (y);
-           rtx i_x, i_y;       /* invariant relationships of X and Y */
-
-           i_x = r_x >= alias_invariant_size ? 0 : alias_invariant[r_x];
-           i_y = r_y >= alias_invariant_size ? 0 : alias_invariant[r_y];
-
-           if (i_x == 0 && i_y == 0)
-             break;
-
-           if (! memrefs_conflict_p (xsize, i_x ? i_x : x,
-                                     ysize, i_y ? i_y : y, c))
-             return 0;
-         }
-       break;
-
       default:
        break;
       }
@@ -2696,12 +2641,6 @@ end_alias_analysis (void)
   reg_known_value_size = 0;
   free (reg_known_equiv_p);
   reg_known_equiv_p = 0;
-  if (alias_invariant)
-    {
-      ggc_free (alias_invariant);
-      alias_invariant = 0;
-      alias_invariant_size = 0;
-    }
 }
 \f
 /* Do control and data flow analysis; write some of the results to the
index 83cc2d5..f4ba839 100644 (file)
@@ -24,7 +24,6 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
 extern HOST_WIDE_INT new_alias_set (void);
 extern HOST_WIDE_INT get_varargs_alias_set (void);
 extern HOST_WIDE_INT get_frame_alias_set (void);
-extern void record_base_value (unsigned int, rtx, int);
 extern bool component_uses_parent_alias_set (tree);
 
 /* This alias set can be used to force a memory to conflict with all