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
This commit is contained in:
J"orn Rennecke 1999-06-09 14:09:50 +00:00 committed by Joern Rennecke
parent ff27cf73c2
commit 7c2772f105
2 changed files with 14 additions and 3 deletions

View File

@ -1,3 +1,9 @@
Wed Jun 9 19:44:26 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
* 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

View File

@ -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);