diff --git a/gcc/ChangeLog b/gcc/ChangeLog index eaa8872e4c7..d743f29c813 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-12-07 J"orn Rennecke + + * reload.h (reg_equiv_invariant): Declare. + * reload.c (refers_to_regno_for_reload_p): Allow R to be a pseudo + register also when reg_equiv_invariant[R] is set. + 2005-12-07 Richard Sandiford Andreas Tobler diff --git a/gcc/reload.c b/gcc/reload.c index dc5d228c569..0f98694ef40 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -6223,7 +6223,7 @@ refers_to_regno_for_reload_p (unsigned int regno, unsigned int endregno, reg_equiv_memory_loc[r], (rtx*) 0); - gcc_assert (reg_equiv_constant[r]); + gcc_assert (reg_equiv_constant[r] || reg_equiv_invariant[r]); return 0; } diff --git a/gcc/reload.h b/gcc/reload.h index 2792e9a5fd9..a63010c630a 100644 --- a/gcc/reload.h +++ b/gcc/reload.h @@ -157,6 +157,7 @@ extern int n_reloads; extern GTY (()) struct varray_head_tag *reg_equiv_memory_loc_varray; extern rtx *reg_equiv_constant; +extern rtx *reg_equiv_invariant; extern rtx *reg_equiv_memory_loc; extern rtx *reg_equiv_address; extern rtx *reg_equiv_mem;