reload1.c (emit_reload_insns): Set reg_has_output_reload to one after setting reg_las...
authorUlrich Weigand <uweigand@de.ibm.com>
Tue, 13 Apr 2004 23:27:43 +0000 (23:27 +0000)
committerUlrich Weigand <uweigand@gcc.gnu.org>
Tue, 13 Apr 2004 23:27:43 +0000 (23:27 +0000)
* reload1.c (emit_reload_insns): Set reg_has_output_reload to one
after setting reg_last_reload_reg for optional output reloads.

From-SVN: r80666

gcc/ChangeLog
gcc/reload1.c

index ae06d123b76e997b6578c1ced5a3bb35fc56e415..face0c94e0054c44eca8e902ef4009869b95f7ce 100644 (file)
@@ -1,3 +1,8 @@
+2004-04-13  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * reload1.c (emit_reload_insns): Set reg_has_output_reload to one
+       after setting reg_last_reload_reg for optional output reloads.
+
 2004-04-12  Fariborz Jahanian <fjahanian@apple.com>
 
        * config/rs6000/altivec.h (vec_mergeh, vec_mergel):
index ce7bf83526e5cfde079db5b1130acbcce13370bd..56f02c97acd33ebeac69285d1837684a54b631fc 100644 (file)
@@ -7324,6 +7324,10 @@ emit_reload_insns (struct insn_chain *chain)
                        CLEAR_HARD_REG_BIT (reg_reloaded_died, src_regno);
                    }
                  reg_last_reload_reg[nregno] = src_reg;
+                 /* We have to set reg_has_output_reload here, or else 
+                    forget_old_reloads_1 will clear reg_last_reload_reg
+                    right away.  */
+                 reg_has_output_reload[nregno] = 1;
                }
            }
          else