From 7c2772f1052c66bd8f3b22697967f7823a52fd5a Mon Sep 17 00:00:00 2001 From: "J\"orn Rennecke" Date: Wed, 9 Jun 1999 14:09:50 +0000 Subject: [PATCH] loop.c (loop_insn_first_p): Don't compare LUIDs when P is a note... * 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. From-SVN: r27454 --- gcc/ChangeLog | 6 ++++++ gcc/loop.c | 11 ++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c0b2113c2eb..eff5e8a917a 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 fe49027bbc6..80b22a7b26e 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); -- 2.30.2