diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-01-07 11:00:39 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-01-07 11:00:39 +0000 |
commit | 111f982d61ba90c8c5b31d7face04ad429c4de9e (patch) | |
tree | e8c22bda345dccb8f6afa5302ff1bacc8d728799 /gcc/unroll.c | |
parent | bf16fecd00a4f9d189e52390f2b93e6bf528bdfe (diff) | |
download | ppe42-gcc-111f982d61ba90c8c5b31d7face04ad429c4de9e.tar.gz ppe42-gcc-111f982d61ba90c8c5b31d7face04ad429c4de9e.zip |
* unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
LABEL_NUSES.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48600 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/unroll.c')
-rw-r--r-- | gcc/unroll.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/unroll.c b/gcc/unroll.c index 5f1560df201..f9fd669cde7 100644 --- a/gcc/unroll.c +++ b/gcc/unroll.c @@ -2073,14 +2073,16 @@ copy_loop_body (loop, copy_start, copy_end, map, exit_label, last_iteration, copy = emit_jump_insn (pattern); REG_NOTES (copy) = initial_reg_note_copy (REG_NOTES (insn), map); - if (JUMP_LABEL (insn) == start_label && insn == copy_end - && ! last_iteration) + if (JUMP_LABEL (insn)) { - /* Update JUMP_LABEL make invert_jump work correctly. */ JUMP_LABEL (copy) = get_label_from_map (map, CODE_LABEL_NUMBER (JUMP_LABEL (insn))); LABEL_NUSES (JUMP_LABEL (copy))++; + } + if (JUMP_LABEL (insn) == start_label && insn == copy_end + && ! last_iteration) + { /* This is a branch to the beginning of the loop; this is the last insn being copied; and this is not the last iteration. |