From: Josef Zlomek Date: Fri, 31 Oct 2003 14:19:03 +0000 (+0100) Subject: cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9295a326c0145a0ace14b974615a605741898aa9;p=gcc.git cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes. PR/10239 * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes. From-SVN: r73145 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1613d2f35ec..24954ff60e8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-10-31 Josef Zlomek + + PR/10239 + * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes. + 2003-10-31 Josef Zlomek PR/11640 diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c index 7354c73c7fb..5769ef366b5 100644 --- a/gcc/cfgrtl.c +++ b/gcc/cfgrtl.c @@ -156,9 +156,15 @@ delete_insn (rtx insn) LABEL_NUSES (JUMP_LABEL (insn))--; /* Also if deleting an insn that references a label. */ - else if ((note = find_reg_note (insn, REG_LABEL, NULL_RTX)) != NULL_RTX - && GET_CODE (XEXP (note, 0)) == CODE_LABEL) - LABEL_NUSES (XEXP (note, 0))--; + else + { + while ((note = find_reg_note (insn, REG_LABEL, NULL_RTX)) != NULL_RTX + && GET_CODE (XEXP (note, 0)) == CODE_LABEL) + { + LABEL_NUSES (XEXP (note, 0))--; + remove_note (insn, note); + } + } if (GET_CODE (insn) == JUMP_INSN && (GET_CODE (PATTERN (insn)) == ADDR_VEC