cfgrtl.c (delete_insn): Check for not NOTE_INSN_DELETED_LABEL before decrementing LABEL_NUSES from a...

* cfgrtl.c (delete_insn): Check for not NOTE_INSN_DELETED_LABEL
        before decrementing LABEL_NUSES from a jump table.

From-SVN: r48431
This commit is contained in:
Richard Henderson 2001-12-31 13:33:19 -08:00
parent 6d66e50d52
commit a124fcda15
1 changed files with 9 additions and 1 deletions

View File

@ -161,7 +161,15 @@ delete_insn (insn)
int i;
for (i = 0; i < len; i++)
LABEL_NUSES (XEXP (XVECEXP (pat, diff_vec_p, i), 0))--;
{
rtx label = XEXP (XVECEXP (pat, diff_vec_p, i), 0);
/* When deleting code in bulk (e.g. removing many unreachable
blocks) we can delete a label that's a target of the vector
before deleting the vector itself. */
if (GET_CODE (label) != NOTE)
LABEL_NUSES (label)--;
}
}
return next;