This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
obscure reload fix
- To: egcs-patches at cygnus dot com
- Subject: obscure reload fix
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Fri, 18 Sep 1998 22:54:16 -0600
- Reply-To: law at cygnus dot com
I've just installed this patch. It fixes an obscure reload bug exposed by
the mn103 port.
* reload.c (find_reloads): Do not replace a pseudo with
(MEM (reg_equiv_addr)) in the initializing insn for the
pseudo.
Index: reload.c
===================================================================
RCS file: /cvs/cvsfiles/devo/gcc/reload.c,v
retrieving revision 1.127
diff -c -3 -p -r1.127 reload.c
*** reload.c 1998/07/08 09:43:20 1.127
--- reload.c 1998/09/19 04:49:18
*************** find_reloads (insn, replace, ind_levels,
*** 2660,2666 ****
substed_operand[i] = recog_operand[i]
= reg_equiv_mem[regno];
#endif
! if (reg_equiv_address[regno] != 0)
{
/* If reg_equiv_address is not a constant address, copy it,
since it may be shared. */
--- 2660,2667 ----
substed_operand[i] = recog_operand[i]
= reg_equiv_mem[regno];
#endif
! 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. */