summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2004-04-13 23:27:43 +0000
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2004-04-13 23:27:43 +0000
commitac8edb965e5df6fac296d5482f670bb54da31f44 (patch)
tree2c3bb45f92559cc98b9e47b327a6e8c58d0b48ad
parent5276698d8897ac3f70dd90b54b1e4cca467be9ce (diff)
downloadppe42-gcc-ac8edb965e5df6fac296d5482f670bb54da31f44.tar.gz
ppe42-gcc-ac8edb965e5df6fac296d5482f670bb54da31f44.zip
* reload1.c (emit_reload_insns): Set reg_has_output_reload to one
after setting reg_last_reload_reg for optional output reloads. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80666 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/reload1.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ae06d123b76..face0c94e00 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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):
diff --git a/gcc/reload1.c b/gcc/reload1.c
index ce7bf83526e..56f02c97acd 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -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
OpenPOWER on IntegriCloud