summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/unroll.c13
2 files changed, 13 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 488986844d4..7e26df05a80 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
+
+ * unroll.c (final_reg_note_copy): Fix previous commit.
+
2002-01-14 Kazu Hirata <kazu@hxi.com>
* config/h8300/h8300-protos.h: Remove the prototype for
diff --git a/gcc/unroll.c b/gcc/unroll.c
index a47fdbe8958..ecddc3154c9 100644
--- a/gcc/unroll.c
+++ b/gcc/unroll.c
@@ -1741,11 +1741,16 @@ final_reg_note_copy (notesp, map)
{
rtx insn = map->insn_map[INSN_UID (XEXP (note, 0))];
- /* If we failed to remap the note, something is awry. */
+ /* If we failed to remap the note, something is awry.
+ Allow REG_LABEL as it may reference label outside
+ the unrolled loop. */
if (!insn)
- abort ();
-
- XEXP (note, 0) = insn;
+ {
+ if (REG_NOTE_KIND (note) != REG_LABEL)
+ abort ();
+ }
+ else
+ XEXP (note, 0) = insn;
}
}