diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-09-18 21:54:39 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-09-18 21:54:39 +0000 |
commit | 3ac546ac73b15b622badde94c9cf286e6da8be88 (patch) | |
tree | f13c763ec355107af0eb042f08994a36de6b861d /gcc | |
parent | 83d288a8fc2c9df6958e3212876a083f747f6294 (diff) | |
download | gcc-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.c | 3 |
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. */ |