aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1998-09-18 15:54:39 -0600
committerJeff Law <law@gcc.gnu.org>1998-09-18 15:54:39 -0600
commit0a6401c41190201cab338d48a3c12509f50a9c6e (patch)
treef13c763ec355107af0eb042f08994a36de6b861d
parentf10df53cc3841b49309aad8fba3b39e9b40f5b63 (diff)
downloadgcc-0a6401c41190201cab338d48a3c12509f50a9c6e.zip
gcc-0a6401c41190201cab338d48a3c12509f50a9c6e.tar.gz
gcc-0a6401c41190201cab338d48a3c12509f50a9c6e.tar.bz2
reload.c (find_reloads): Do not replace a pseudo with (MEM (reg_equiv_addr)) in the initializing insn...
P * reload.c (find_reloads): Do not replace a pseudo with (MEM (reg_equiv_addr)) in the initializing insn for the pseudo. From-SVN: r22473
-rw-r--r--gcc/reload.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/reload.c b/gcc/reload.c
index 1aec4fb..a97357f 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. */