re PR rtl-optimization/57786 (wasted work in distribute_notes)
authorPo-Chun Chang <pchang9@cs.wisc.edu>
Mon, 8 Jul 2013 09:05:38 +0000 (09:05 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Mon, 8 Jul 2013 09:05:38 +0000 (09:05 +0000)
PR rtl-optimization/57786
* combine.c (distribute_notes) <case REG_DEAD>: Change all_used to bool
and break out of the loop when it is set to false.

From-SVN: r200776

gcc/ChangeLog
gcc/combine.c

index 4fc4e503dc7faed6116ff1c9a3b1957624b58d0c..ef789cacd6687d80b8c7df427d035102ce6efc95 100644 (file)
@@ -1,3 +1,9 @@
+2013-07-08  Po-Chun Chang  <pchang9@cs.wisc.edu>
+
+       PR rtl-optimization/57786
+       * combine.c (distribute_notes) <case REG_DEAD>: Change all_used to bool
+       and break out of the loop when it is set to false.
+
 2013-07-08  Jakub Jelinek  <jakub@redhat.com>
 
        PR target/57819
index ca311ff77973301e0b416200394f4eead0613f34..fc94c68626c72bd7bcb5242bc180524d7d5ffd4d 100644 (file)
@@ -13580,14 +13580,17 @@ distribute_notes (rtx notes, rtx from_insn, rtx i3, rtx i2, rtx elim_i2,
                  && hard_regno_nregs[regno][GET_MODE (XEXP (note, 0))] > 1)
                {
                  unsigned int endregno = END_HARD_REGNO (XEXP (note, 0));
-                 int all_used = 1;
+                 bool all_used = true;
                  unsigned int i;
 
                  for (i = regno; i < endregno; i++)
                    if ((! refers_to_regno_p (i, i + 1, PATTERN (place), 0)
                         && ! find_regno_fusage (place, USE, i))
                        || dead_or_set_regno_p (place, i))
-                     all_used = 0;
+                     {
+                       all_used = false;
+                       break;
+                     }
 
                  if (! all_used)
                    {
@@ -13631,7 +13634,6 @@ distribute_notes (rtx notes, rtx from_insn, rtx i3, rtx i2, rtx elim_i2,
                                    break;
                                  }
                              }
-
                        }
 
                      place = 0;