Commit 50af6384 by Zdenek Dvorak Committed by Zdenek Dvorak

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
parent 80838531
2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> 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 * final.c (shorten_branches): Remove outdated comment, and turn
the if branch that guards it to continue. the if branch that guards it to continue.
......
...@@ -1041,8 +1041,7 @@ sets_cc0_p (rtx x) ...@@ -1041,8 +1041,7 @@ sets_cc0_p (rtx x)
If the chain loops or we can't find end, return LABEL, If the chain loops or we can't find end, return LABEL,
since that tells caller to avoid changing the insn. 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 If RELOAD_COMPLETED is 0, we do not chain across a USE or CLOBBER. */
a USE or CLOBBER. */
rtx rtx
follow_jumps (rtx label) follow_jumps (rtx label)
...@@ -1063,19 +1062,15 @@ follow_jumps (rtx label) ...@@ -1063,19 +1062,15 @@ follow_jumps (rtx label)
&& BARRIER_P (next)); && BARRIER_P (next));
depth++) 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; rtx tem;
if (!reload_completed) if (!reload_completed && flag_test_coverage)
for (tem = value; tem != insn; tem = NEXT_INSN (tem)) {
if (NOTE_P (tem) /* ??? Optional. Disables some optimizations, but makes
&& (NOTE_LINE_NUMBER (tem) == NOTE_INSN_LOOP_BEG gcov output more accurate with -O. */
/* ??? Optional. Disables some optimizations, but makes for (tem = value; tem != insn; tem = NEXT_INSN (tem))
gcov output more accurate with -O. */ if (NOTE_P (tem) && NOTE_LINE_NUMBER (tem) > 0)
|| (flag_test_coverage && NOTE_LINE_NUMBER (tem) > 0))) return value;
return value; }
/* If we have found a cycle, make the insn jump to itself. */ /* If we have found a cycle, make the insn jump to itself. */
if (JUMP_LABEL (insn) == label) if (JUMP_LABEL (insn) == label)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment