OSDN Git Service

(reload_reg_free_before_p, case
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 18 Mar 1997 22:10:38 +0000 (22:10 +0000)
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 18 Mar 1997 22:10:38 +0000 (22:10 +0000)
RELOAD_FOR_OPERAND_ADDRESS): Conflicts with RELOAD_FOR_OPADDR_ADDR
reloads.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13742 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/reload1.c

index ad0f8f8..2a072a3 100644 (file)
@@ -4684,6 +4684,12 @@ reload_reg_free_before_p (regno, opnum, type)
       return ! TEST_HARD_REG_BIT (reload_reg_used_in_other_addr, regno);
 
     case RELOAD_FOR_OPERAND_ADDRESS:
+      /* Earlier reloads include RELOAD_FOR_OPADDR_ADDR reloads.  */
+      if (TEST_HARD_REG_BIT (reload_reg_used_in_op_addr_reload, regno))
+       return 0;
+
+      /* ... fall through ...  */
+
     case RELOAD_FOR_OPADDR_ADDR:
     case RELOAD_FOR_INSN:
       /* These can't conflict with inputs, or each other, so all we have to