[4.6,trunk,rx] avoid LABEL_NUSES on barriers

Message ID 201105111921.p4BJLkpA024972@greed.delorie.com
State New
Headers show

Commit Message

DJ Delorie May 11, 2011, 7:21 p.m.
Occasionally, gcc passes a barrier instead of a label.  This
accomodates such an event.  Applies to 4.6 and trunk, and needed on
both to build newlib.  Ok?

	* config/rx/rx.c (rx_align_for_label): Don't test for
	LABEL_NUSES on a barrier.


Index: gcc/config/rx/rx.c
--- gcc/config/rx/rx.c	(revision 173669)
+++ gcc/config/rx/rx.c	(working copy)
@@ -2755,13 +2755,13 @@  int
 rx_align_for_label (rtx lab, int uses_threshold)
   /* This is a simple heuristic to guess when an alignment would not be useful
      because the delay due to the inserted NOPs would be greater than the delay
      due to the misaligned branch.  If uses_threshold is zero then the alignment
      is always useful.  */
-  if (LABEL_NUSES (lab) < uses_threshold)
+  if (LABEL_P (lab) && LABEL_NUSES (lab) < uses_threshold)
     return 0;
   return optimize_size ? 1 : 3;
 static int