reload1.c (choose_reload_regs): Never call remove_adress_replacements when reload_out...
authorJ"orn Rennecke <amylaar@cygnus.co.uk>
Thu, 8 Jul 1999 10:07:30 +0000 (10:07 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Thu, 8 Jul 1999 10:07:30 +0000 (11:07 +0100)
* reload1.c (choose_reload_regs): Never call remove_adress_replacements
when reload_out equals reload_in.

From-SVN: r28008

gcc/ChangeLog
gcc/reload1.c

index 88977e963b66c6e8dfc593133be8156eb8fa3846..f56e53cd6f06be8a2262d47a721781bebdb0ae13 100644 (file)
@@ -1,3 +1,8 @@
+Thu Jul  8 18:03:19 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * reload1.c (choose_reload_regs): Never call remove_adress_replacements
+       when reload_out equals reload_in.
+
 Thu Jul  8 16:50:14 1999  Nick Clifton  <nickc@cygnus.com>
 
        * invoke.texi (Spec Files): New node: Describe the contents of
index 123cbf5edd317eb136ca57b1defd01f90aa3e40b..24a37c5d7579eb8d3211280e731a42695b82d812 100644 (file)
@@ -6297,13 +6297,12 @@ choose_reload_regs (chain)
             is mentioned in reload_in of the reload we are going to inherit.
             A special case are auto_inc expressions; even if the input is
             inherited, we still need the address for the output.  We can
-            recognize them because they have RELOAD_OUT set but not
-            RELOAD_OUT_REG.
+            recognize them because they have RELOAD_OUT set to RELOAD_IN.
             If we suceeded removing some reload and we are doing a preliminary
             pass just to remove such reloads, make another pass, since the
             removal of one reload might allow us to inherit another one.  */
-         else if ((! reload_out[r] || reload_out_reg[r])
-                  && reload_in[r]
+         else if (reload_in[r]
+                  && reload_out[r] != reload_in[r]
                   && remove_address_replacements (reload_in[r]) && pass)
            pass = 2;
        }