From c5780f6df7be05e8b129d88dadfceaae3a0ec4da Mon Sep 17 00:00:00 2001 From: steven Date: Tue, 28 Feb 2006 21:01:20 +0000 Subject: [PATCH] * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111574 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 8 ++++++++ gcc/alias.c | 61 ----------------------------------------------------------- gcc/alias.h | 1 - 3 files changed, 8 insertions(+), 62 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d37067c1142..2b678abac8d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2006-02-28 Steven Bosscher + + * 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 Adam Nemet diff --git a/gcc/alias.c b/gcc/alias.c index cb5f5dbfcd1..5e152855a81 100644 --- a/gcc/alias.c +++ b/gcc/alias.c @@ -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; - } } /* Do control and data flow analysis; write some of the results to the diff --git a/gcc/alias.h b/gcc/alias.h index 83cc2d55094..f4ba839c6fb 100644 --- a/gcc/alias.h +++ b/gcc/alias.h @@ -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 -- 2.11.4.GIT