[backport r171976 from gcc-4.7/trunk, PR43920 patch 2/n <mikpe@it.uu.se>]

gcc/

2011-04-05  Tom de Vries  <tom@codesourcery.com>

	PR target/43920
	* cfgcleanup.c (flow_find_cross_jump): Don't count USE or CLOBBER as
	insn.

--- gcc-4.6.0/gcc/cfgcleanup.c.~1~	2011-06-19 22:14:59.000000000 +0200
+++ gcc-4.6.0/gcc/cfgcleanup.c	2011-06-19 22:17:53.000000000 +0200
@@ -1074,6 +1074,7 @@ flow_find_cross_jump (basic_block bb1, b
 {
   rtx i1, i2, last1, last2, afterlast1, afterlast2;
   int ninsns = 0;
+  rtx p1;
 
   /* Skip simple jumps at the end of the blocks.  Complex jumps still
      need to be compared for equivalence, which we'll do below.  */
@@ -1122,7 +1123,9 @@ flow_find_cross_jump (basic_block bb1, b
 
 	  afterlast1 = last1, afterlast2 = last2;
 	  last1 = i1, last2 = i2;
-	  ninsns++;
+	  p1 = PATTERN (i1);
+	  if (!(GET_CODE (p1) == USE || GET_CODE (p1) == CLOBBER))
+	    ninsns++;
 	}
 
       i1 = PREV_INSN (i1);
