(find_reloads_address): When copying memref after we've made recursive
authorRichard Kenner <kenner@gcc.gnu.org>
Wed, 28 Oct 1992 22:03:55 +0000 (17:03 -0500)
committerRichard Kenner <kenner@gcc.gnu.org>
Wed, 28 Oct 1992 22:03:55 +0000 (17:03 -0500)
calls on it, copy any replacements we made.

From-SVN: r2642

gcc/reload.c

index f5afa5fc566bed104fbc87a97a2383e541c4185d..2fc4f44c456f5b608362f991ac21463c38c89340 100644 (file)
@@ -253,6 +253,7 @@ static int hard_reg_set_here_p ();
 /* static rtx forget_volatility (); */
 static rtx subst_reg_equivs ();
 static rtx subst_indexed_address ();
+void copy_replacements ();
 rtx find_equiv_reg ();
 static int find_inc_amount ();
 \f
@@ -3636,6 +3637,7 @@ find_reloads_address (mode, memrefloc, ad, loc, operand, ind_levels)
        {
          rtx oldref = *memrefloc;
          *memrefloc = copy_rtx (*memrefloc);
+         copy_replacements (tem, XEXP (*memrefloc, 0));
          loc = &XEXP (*memrefloc, 0);
          if (operand == oldref)
            operand = *memrefloc;