From: amylaar Date: Wed, 9 Jun 1999 14:09:50 +0000 (+0000) Subject: * loop.c (loop_insn_first_p): Don't compare LUIDs when P X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=930b8f5a9899d2331b90a58f2f8c8c7db24d0730;p=platform%2Fupstream%2Flinaro-gcc.git * loop.c (loop_insn_first_p): Don't compare LUIDs when P is a note; use <= for the compare; advance P while it is a NOTE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@27454 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c0b2113..eff5e8a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Wed Jun 9 19:44:26 1999 J"orn Rennecke + + * loop.c (loop_insn_first_p): Don't compare LUIDs when P + is a note; use <= for the compare; advance P while it is + a NOTE. + Wed Jun 9 13:12:24 1999 Jeffrey A Law (law@cygnus.com) * varasm.c (remove_from_pending_weak_list): Verify t->name diff --git a/gcc/loop.c b/gcc/loop.c index fe49027..80b22a7 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -8199,11 +8199,16 @@ loop_insn_first_p (insn, reference) if (p == reference || ! q) return 1; + /* Either of P or Q might be a NOTE. Notes have the same LUID as the + previous insn, hence the <= comparison below does not work if + P is a note. */ if (INSN_UID (p) < max_uid_for_loop - && INSN_UID (q) < max_uid_for_loop) - return INSN_LUID (p) < INSN_LUID (q); + && INSN_UID (q) < max_uid_for_loop + && GET_CODE (p) != NOTE) + return INSN_LUID (p) <= INSN_LUID (q); - if (INSN_UID (p) >= max_uid_for_loop) + if (INSN_UID (p) >= max_uid_for_loop + || GET_CODE (p) == NOTE) p = NEXT_INSN (p); if (INSN_UID (q) >= max_uid_for_loop) q = NEXT_INSN (q);