From 648a09eed9f2b429e36353da9f603e79caa6c18e Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Mon, 24 Jan 1994 16:19:48 -0800 Subject: [PATCH] (copy_loop_body): When delete simplified condjump, protect the label, so that it doesn't get deleted also. From-SVN: r6428 --- gcc/unroll.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gcc/unroll.c b/gcc/unroll.c index eac1e955aa1..20ab17b0dfc 100644 --- a/gcc/unroll.c +++ b/gcc/unroll.c @@ -1830,7 +1830,14 @@ copy_loop_body (copy_start, copy_end, map, exit_label, last_iteration, /* If this is now a no-op, delete it. */ if (map->last_pc_value == pc_rtx) { + /* Don't let delete_insn delete the label referenced here, + because we might possibly need it later for some other + instruction in the loop. */ + if (JUMP_LABEL (copy)) + LABEL_NUSES (JUMP_LABEL (copy))++; delete_insn (copy); + if (JUMP_LABEL (copy)) + LABEL_NUSES (JUMP_LABEL (copy))--; copy = 0; } else -- 2.30.2