From: Jeff Law Date: Mon, 18 Oct 1993 01:40:26 +0000 (-0600) Subject: reload1.c (eliminate_regs_in_insn): Rerecognize some loads and stores. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=51b8cba1261d04a4104d0a09e6b7d59c5eb5fea5;p=gcc.git reload1.c (eliminate_regs_in_insn): Rerecognize some loads and stores. * reload1.c (eliminate_regs_in_insn): Rerecognize some loads and stores. From-SVN: r5792 --- diff --git a/gcc/reload1.c b/gcc/reload1.c index 19c1479b90a..00d781c4548 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -3198,6 +3198,14 @@ eliminate_regs_in_insn (insn, replace) if ((GET_CODE (old_body) == SET && GET_CODE (SET_SRC (old_body)) == REG && (GET_CODE (new_body) != SET || GET_CODE (SET_SRC (new_body)) != REG)) + /* If this was a load from or store to memory, compare + the MEM in recog_operand to the one in the insn. If they + are not equal, then rerecognize the insn. */ + || (GET_CODE (old_body) == SET + && ((GET_CODE (SET_SRC (old_body)) == MEM + && SET_SRC (old_body) != recog_operand[1]) + || (GET_CODE (SET_DEST (old_body)) == MEM + && SET_DEST (old_body) != recog_operand[0]))) /* If this was an add insn before, rerecognize. */ || (GET_CODE (old_body) == SET