summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1998-09-18 21:54:39 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1998-09-18 21:54:39 +0000
commit3ac546ac73b15b622badde94c9cf286e6da8be88 (patch)
treef13c763ec355107af0eb042f08994a36de6b861d /gcc
parent83d288a8fc2c9df6958e3212876a083f747f6294 (diff)
downloadgcc-3ac546ac73b15b622badde94c9cf286e6da8be88.tar.gz
P
* reload.c (find_reloads): Do not replace a pseudo with (MEM (reg_equiv_addr)) in the initializing insn for the pseudo. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22473 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/reload.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/reload.c b/gcc/reload.c
index 1aec4fb633b..a97357f3bcd 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -2673,7 +2673,8 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
substed_operand[i] = recog_operand[i]
= reg_equiv_mem[regno];
#endif
- if (reg_equiv_address[regno] != 0)
+ if (reg_equiv_address[regno] != 0
+ && (set == 0 || &SET_DEST (set) != recog_operand_loc[i]))
{
/* If reg_equiv_address is not a constant address, copy it,
since it may be shared. */