aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2002-01-07 12:00:39 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2002-01-07 11:00:39 +0000
commit6ba4d630f6bcede0ccfd73baa99c1f964d188d43 (patch)
treee8c22bda345dccb8f6afa5302ff1bacc8d728799 /gcc
parentb34c06e332d1360bf0761d089533602965c858e3 (diff)
downloadgcc-6ba4d630f6bcede0ccfd73baa99c1f964d188d43.zip
gcc-6ba4d630f6bcede0ccfd73baa99c1f964d188d43.tar.gz
gcc-6ba4d630f6bcede0ccfd73baa99c1f964d188d43.tar.bz2
unroll.c (copy_loop_body): Always properly update JUMP_LABEL and LABEL_NUSES.
* unroll.c (copy_loop_body): Always properly update JUMP_LABEL and LABEL_NUSES. From-SVN: r48600
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/unroll.c8
2 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 122981b..ebae515 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
+
+ * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
+ LABEL_NUSES.
+
2002-01-07 Graham Stott <grahams@redhat.com>
* config/i386/i386.h: Update copyright date.
diff --git a/gcc/unroll.c b/gcc/unroll.c
index 5f1560d..f9fd669 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.