This one is in response to a comment made by Ulrich Weigand.  Refer
http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01804.html for why
replace_equiv_address_nv is better than change_address in this reload
related function.  Bootstrapped etc. powerpc64-linux.

        * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
        replace_equiv_address_nv.

Index: gcc/config/rs6000/rs6000.c
===================================================================
--- gcc/config/rs6000/rs6000.c  (revision 198174)
+++ gcc/config/rs6000/rs6000.c  (working copy)
@@ -14433,7 +14417,7 @@
   /* Adjust the address if it changed.  */
   if (addr != XEXP (mem, 0))
     {
-      mem = change_address (mem, mode, addr);
+      mem = replace_equiv_address_nv (mem, addr);
       if (TARGET_DEBUG_ADDR)
        fprintf (stderr, "\nrs6000_secondary_reload_inner, mem adjusted.\n");
     }

-- 
Alan Modra
Australia Development Lab, IBM

Reply via email to