OSDN Git Service

2010-02-10 Vladimir Makarov <vmakarov@redhat.com>
authorvmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 Feb 2010 20:52:31 +0000 (20:52 +0000)
committervmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 Feb 2010 20:52:31 +0000 (20:52 +0000)
* ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
instead of loop.

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

gcc/ChangeLog
gcc/ira-conflicts.c

index e080d10..0a9a4d7 100644 (file)
@@ -1,3 +1,8 @@
+2010-02-10  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
+       instead of loop.
+
 2010-02-10  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/43017
index faa36ae..cbb3e17 100644 (file)
@@ -447,7 +447,7 @@ process_reg_shuffles (rtx reg, int op_num, int freq, bool *bound_p)
 static void
 add_insn_allocno_copies (rtx insn)
 {
-  rtx set, operand, dup, link;
+  rtx set, operand, dup;
   const char *str;
   bool commut_p, bound_p[MAX_RECOG_OPERANDS];
   int i, j, n, freq;
@@ -466,10 +466,9 @@ add_insn_allocno_copies (rtx insn)
       process_regs_for_copy (SET_DEST (set), SET_SRC (set), false, insn, freq);
       return;
     }
-  for (link = REG_NOTES (insn); link; link = XEXP (link, 1))
-    if (REG_NOTE_KIND (link) == REG_DEAD)
-      break;
-  if (! link)
+  /* Fast check of possibility of constraint or shuffle copies.  If
+     there are no dead registers, there will be no such copies.  */
+  if (! find_reg_note (insn, REG_DEAD, NULL_RTX))
     return;
   extract_insn (insn);
   for (i = 0; i < recog_data.n_operands; i++)