This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

r113286 - in /branches/apple-local-200502-branc...


Author: dalej
Date: Thu Apr 27 00:15:50 2006
New Revision: 113286

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113286
Log:
Index: loop.c
===================================================================
--- loop.c      (revision 113285)
+++ loop.c      (working copy)
@@ -7770,7 +7770,12 @@
   rtx orig_x = x;
 
   /* If this is an invariant, forget it, it isn't a giv.  */
-  if (loop_invariant_p (loop, x) == 1)
+  /* APPLE LOCAL begin radar 4491613 */
+  /* If a loop jumps to the bottom of the loop first, then jumps back
+     to the top of the loop, and its induction variable may trap, 
+     the induction variable shouldn't be a giv. */
+  if (loop_invariant_p (loop, x) == 1 || (loop->top && may_trap_p (x)))
+  /* APPLE LOCAL end radar 4491613 */
     return 0;
 
   *pbenefit = 0;


Modified:
    branches/apple-local-200502-branch/gcc/ChangeLog.apple-ppc
    branches/apple-local-200502-branch/gcc/loop.c


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]