diff options
author | Zdenek Dvorak <dvorakz@suse.cz> | 2006-03-13 13:16:40 +0100 |
---|---|---|
committer | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2006-03-13 12:16:40 +0000 |
commit | 50af63845bc1ce97cd8dd9a2a7236a29ac93a366 (patch) | |
tree | c2d4322ca61db735bc9e783b41bb0575e108cccc | |
parent | 8083853174ebacc8775d52e58a142639d8aa2180 (diff) | |
download | gcc-50af63845bc1ce97cd8dd9a2a7236a29ac93a366.zip gcc-50af63845bc1ce97cd8dd9a2a7236a29ac93a366.tar.gz gcc-50af63845bc1ce97cd8dd9a2a7236a29ac93a366.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/jump.c | 23 |
2 files changed, 14 insertions, 14 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cd3f8b2..257cb9a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 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 the if branch that guards it to continue. @@ -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) |