OSDN Git Service

* reload.c (find_reloads): Adjust LABEL_NUSES on REG_LABEL_OPERAND
authormshawcroft <mshawcroft@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 5 Jan 2012 09:45:09 +0000 (09:45 +0000)
committermshawcroft <mshawcroft@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 5 Jan 2012 09:45:09 +0000 (09:45 +0000)
insertion.

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

gcc/ChangeLog
gcc/reload.c

index 661179e..1dd2964 100644 (file)
@@ -1,3 +1,8 @@
+2012-01-05  Marcus Shawcroft  <marcus.shawcroft@arm.com>
+
+       * reload.c (find_reloads): Adjust LABEL_NUSES on REG_LABEL_OPERAND
+       insertion.
+
 2012-01-05  Jakub Jelinek  <jakub@redhat.com>
 
        PR bootstrap/51648
index 896e8de..90085bd 100644 (file)
@@ -4208,7 +4208,12 @@ find_reloads (rtx insn, int replace, int ind_levels, int live_known,
              && (!JUMP_P (insn)
                  || !label_is_jump_target_p (XEXP (substitution, 0),
                                              insn)))
-           add_reg_note (insn, REG_LABEL_OPERAND, XEXP (substitution, 0));
+           {
+             add_reg_note (insn, REG_LABEL_OPERAND, XEXP (substitution, 0));
+             if (LABEL_P (XEXP (substitution, 0)))
+               ++LABEL_NUSES (XEXP (substitution, 0));
+           }
+
        }
       else
        retval |= (substed_operand[i] != *recog_data.operand_loc[i]);