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

Reply via email to