2005-12-07 J"orn Rennecke <joern.rennecke@st.com>
authoramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 7 Dec 2005 23:41:19 +0000 (23:41 +0000)
committeramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 7 Dec 2005 23:41:19 +0000 (23:41 +0000)
* 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.

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

gcc/ChangeLog
gcc/reload.c
gcc/reload.h

index eaa8872..d743f29 100644 (file)
@@ -1,3 +1,9 @@
+2005-12-07  J"orn Rennecke <joern.rennecke@st.com>
+
+       * 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  <richard@codesourcery.com>
            Andreas Tobler  <a.tobler@schweiz.ch>
 
index dc5d228..0f98694 100644 (file)
@@ -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;
        }
 
index 2792e9a..a63010c 100644 (file)
@@ -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;