]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
(find_reloads, case 'o'): Accept a fully reloaded auto-increment address.
authorJim Wilson <wilson@gcc.gnu.org>
Fri, 10 Mar 1995 19:50:49 +0000 (11:50 -0800)
committerJim Wilson <wilson@gcc.gnu.org>
Fri, 10 Mar 1995 19:50:49 +0000 (11:50 -0800)
From-SVN: r9168

gcc/reload.c

index 0c00ffc4f2353b8868b2c03f647220399fb893aa..4ba5627a5df13aa59a96c2cd954f6a6bbdb2af66 100644 (file)
@@ -2802,6 +2802,14 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
                        reject that case.  */
                     && (ind_levels ? offsettable_memref_p (operand)
                         : offsettable_nonstrict_memref_p (operand)))
+                   /* A reloaded auto-increment address is offsettable,
+                      because it is now just a simple register indirect.  */
+                   || (GET_CODE (operand) == MEM
+                       && address_reloaded[i]
+                       && (GET_CODE (XEXP (operand, 0)) == PRE_INC
+                           || GET_CODE (XEXP (operand, 0)) == PRE_DEC
+                           || GET_CODE (XEXP (operand, 0)) == POST_INC
+                           || GET_CODE (XEXP (operand, 0)) == POST_DEC))
                    /* Certain mem addresses will become offsettable
                       after they themselves are reloaded.  This is important;
                       we don't want our own handling of unoffsettables