+Tue Jun 16 23:33:24 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OUTADDR_ADDRESS
+ is earlier than RELOAD_FOR_OUTPUT_ADDRESS; RELOAD_FOR_INPADDR_ADDRESS
+ is earlier than RELOAD_FOR_INPUT_ADDRESS.
+
Tue Jun 16 13:15:16 1998 Jim Wilson <wilson@cygnus.com>
* libgcc1-test.c (memcpy): Define.
the first place, since we know that it was allocated. */
case RELOAD_FOR_OUTPUT_ADDRESS:
+ /* Earlier reloads include RELOAD_FOR_INPADDR_ADDRESS reloads. */
+ if (TEST_HARD_REG_BIT (reload_reg_used_in_outaddr_addr[opnum], regno))
+ return 0;
+ /* ... fall through ... */
case RELOAD_FOR_OUTADDR_ADDRESS:
/* Earlier reloads are for earlier outputs or their addresses,
any RELOAD_FOR_INSN reloads, any inputs or their addresses, or any
return ! TEST_HARD_REG_BIT (reload_reg_used_in_other_addr, regno);
case RELOAD_FOR_INPUT_ADDRESS:
+ /* Earlier reloads include RELOAD_FOR_INPADDR_ADDRESS reloads. */
+ if (TEST_HARD_REG_BIT (reload_reg_used_in_inpaddr_addr[opnum], regno))
+ return 0;
+ /* ... fall through ... */
case RELOAD_FOR_INPADDR_ADDRESS:
/* Similarly, all we have to check is for use in earlier inputs'
addresses. */