PR middle-end/6096, middle-end/6098, middle-end/6099

PR middle-end/6096, middle-end/6098, middle-end/6099
	* reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
	CODE_LABELs.
	(fill_slots_from_thread): Likewise.

From-SVN: r51668
This commit is contained in:
Jakub Jelinek 2002-03-31 20:45:21 +02:00 committed by Jakub Jelinek
parent 105b208422
commit 0864c5260d
2 changed files with 12 additions and 3 deletions

View File

@ -1,3 +1,10 @@
2002-03-31 Jakub Jelinek <jakub@redhat.com>
PR middle-end/6096, middle-end/6098, middle-end/6099
* reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
CODE_LABELs.
(fill_slots_from_thread): Likewise.
2002-03-31 Jakub Jelinek <jakub@redhat.com>
* config/sparc/sparc.c (function_arg_record_value_1): Pass complex

View File

@ -511,7 +511,8 @@ emit_delay_sequence (insn, list, length)
case REG_LABEL:
/* Keep the label reference count up to date. */
LABEL_NUSES (XEXP (note, 0)) ++;
if (GET_CODE (XEXP (note, 0)) == CODE_LABEL)
LABEL_NUSES (XEXP (note, 0)) ++;
break;
default:
@ -2732,12 +2733,13 @@ fill_slots_from_thread (insn, condition, thread, opposite_thread, likely,
temporarily increment the use count on any referenced
label lest it be deleted by delete_related_insns. */
note = find_reg_note (trial, REG_LABEL, 0);
if (note)
/* REG_LABEL could be NOTE_INSN_DELETED_LABEL too. */
if (note && GET_CODE (XEXP (note, 0)) == CODE_LABEL)
LABEL_NUSES (XEXP (note, 0))++;
delete_related_insns (trial);
if (note)
if (note && GET_CODE (XEXP (note, 0)) == CODE_LABEL)
LABEL_NUSES (XEXP (note, 0))--;
}
else