diff options
author | Jeff Law <law@gcc.gnu.org> | 1998-09-18 15:54:39 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-09-18 15:54:39 -0600 |
commit | 0a6401c41190201cab338d48a3c12509f50a9c6e (patch) | |
tree | f13c763ec355107af0eb042f08994a36de6b861d | |
parent | f10df53cc3841b49309aad8fba3b39e9b40f5b63 (diff) | |
download | gcc-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.c | 3 |
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. */ |