rtlanal.c (find_reg_note): Manually unswitch the loop.
authorAndrew Pinski <pinskia@physics.uc.edu>
Fri, 2 Apr 2004 01:19:41 +0000 (01:19 +0000)
committerAndrew Pinski <pinskia@gcc.gnu.org>
Fri, 2 Apr 2004 01:19:41 +0000 (17:19 -0800)
2004-04-01  Andrew Pinski  <pinskia@physics.uc.edu>

        * rtlanal.c (find_reg_note): Manually
        unswitch the loop.

From-SVN: r80347

gcc/ChangeLog
gcc/rtlanal.c

index eada5df2d2d743a029262b342db0d1680f5c5872..e2410c3d32f3a1cf12c49aa8166a4e929264b4cf 100644 (file)
@@ -1,3 +1,8 @@
+2004-04-01  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * rtlanal.c (find_reg_note): Manually
+       unswitch the loop.
+
 2004-04-01  Mark Mitchell  <mark@codesourcery.com>
 
        * genemit.c (gen_split): Change prototype of generated code.
index 3f3a4289d6364e766d6d47979a5d995f5f84dc5c..c66cc9adc8cb63ea1132a54af6919d9d47d46cdd 100644 (file)
@@ -1911,10 +1911,16 @@ find_reg_note (rtx insn, enum reg_note kind, rtx datum)
   /* Ignore anything that is not an INSN, JUMP_INSN or CALL_INSN.  */
   if (! INSN_P (insn))
     return 0;
+  if (datum == 0)
+    {
+      for (link = REG_NOTES (insn); link; link = XEXP (link, 1))
+       if (REG_NOTE_KIND (link) == kind)
+         return link;
+      return 0;
+    }
 
   for (link = REG_NOTES (insn); link; link = XEXP (link, 1))
-    if (REG_NOTE_KIND (link) == kind
-       && (datum == 0 || datum == XEXP (link, 0)))
+    if (REG_NOTE_KIND (link) == kind && datum == XEXP (link, 0))
       return link;
   return 0;
 }