jump.c (follow_jumps): Do not check for loop notes.

* jump.c (follow_jumps): Do not check for loop notes.  Move check for
	flag_test_coverage out of loop.

From-SVN: r111996
This commit is contained in:
Zdenek Dvorak 2006-03-13 13:16:40 +01:00 committed by Zdenek Dvorak
parent 8083853174
commit 50af63845b
2 changed files with 14 additions and 14 deletions

View file

@ -1,3 +1,8 @@
2006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
* jump.c (follow_jumps): Do not check for loop notes. Move check for
flag_test_coverage out of loop.
2006-03-13 Zdenek Dvorak <dvorakz@suse.cz>
* final.c (shorten_branches): Remove outdated comment, and turn

View file

@ -1041,8 +1041,7 @@ sets_cc0_p (rtx x)
If the chain loops or we can't find end, return LABEL,
since that tells caller to avoid changing the insn.
If RELOAD_COMPLETED is 0, we do not chain across a NOTE_INSN_LOOP_BEG or
a USE or CLOBBER. */
If RELOAD_COMPLETED is 0, we do not chain across a USE or CLOBBER. */
rtx
follow_jumps (rtx label)
@ -1063,19 +1062,15 @@ follow_jumps (rtx label)
&& BARRIER_P (next));
depth++)
{
/* Don't chain through the insn that jumps into a loop
from outside the loop,
since that would create multiple loop entry jumps
and prevent loop optimization. */
rtx tem;
if (!reload_completed)
for (tem = value; tem != insn; tem = NEXT_INSN (tem))
if (NOTE_P (tem)
&& (NOTE_LINE_NUMBER (tem) == NOTE_INSN_LOOP_BEG
/* ??? Optional. Disables some optimizations, but makes
gcov output more accurate with -O. */
|| (flag_test_coverage && NOTE_LINE_NUMBER (tem) > 0)))
return value;
if (!reload_completed && flag_test_coverage)
{
/* ??? Optional. Disables some optimizations, but makes
gcov output more accurate with -O. */
for (tem = value; tem != insn; tem = NEXT_INSN (tem))
if (NOTE_P (tem) && NOTE_LINE_NUMBER (tem) > 0)
return value;
}
/* If we have found a cycle, make the insn jump to itself. */
if (JUMP_LABEL (insn) == label)