diff options
author | rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-03-13 12:16:40 +0000 |
---|---|---|
committer | rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-03-13 12:16:40 +0000 |
commit | d5bd32d8633a0a270e5c87357f9f20b0f145aa95 (patch) | |
tree | c2d4322ca61db735bc9e783b41bb0575e108cccc /gcc/jump.c | |
parent | d84aa71e9693c3052af4c7e034d34a1f3422d883 (diff) | |
download | gcc-d5bd32d8633a0a270e5c87357f9f20b0f145aa95.tar.gz |
* jump.c (follow_jumps): Do not check for loop notes. Move check for
flag_test_coverage out of loop.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111996 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/jump.c')
-rw-r--r-- | gcc/jump.c | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/gcc/jump.c b/gcc/jump.c index 38d1146ff22..79a21b4d1ae 100644 --- a/gcc/jump.c +++ b/gcc/jump.c @@ -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) |