This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r113286 - in /branches/apple-local-200502-branc...
- From: dalej at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Thu, 27 Apr 2006 00:15:51 -0000
- Subject: 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