PERFORCE change 28289 for review

Marcel Moolenaar marcel at FreeBSD.org
Sat Apr 5 20:02:15 PST 2003


http://perforce.freebsd.org/chv.cgi?CH=28289

Change 28289 by marcel at marcel_nfs on 2003/04/05 20:01:58

	Replace my homegrown GCC patch with the real thing (as
	committed to the GCC trees).

Affected files ...

.. //depot/projects/ia64/contrib/gcc/ifcvt.c#5 edit

Differences ...

==== //depot/projects/ia64/contrib/gcc/ifcvt.c#5 (text+ko) ====

@@ -1934,10 +1934,9 @@
      is more than one remaining edge, it must come from elsewhere.  There
      may be zero incoming edges if the THEN block didn't actually join 
      back up (as with a call to abort).  */
-  else if ((join_bb->pred == NULL || join_bb->pred->pred_next == NULL)
-	   && join_bb != EXIT_BLOCK_PTR
-	   && (NEXT_INSN(combo_bb->end) == join_bb->head
-	       || GET_CODE(NEXT_INSN(combo_bb->end)) != CODE_LABEL))
+  else if ((join_bb->pred == NULL
+	    || join_bb->pred->pred_next == NULL)
+	   && join_bb != EXIT_BLOCK_PTR)
     {
       /* We can merge the JOIN.  */
       if (life_data_ok)
@@ -2046,7 +2045,8 @@
   /* The THEN block of an IF-THEN combo must have zero or one successors.  */
   if (then_succ != NULL_EDGE
       && (then_succ->succ_next != NULL_EDGE
-          || (then_succ->flags & EDGE_COMPLEX)))
+          || (then_succ->flags & EDGE_COMPLEX)
+	  || (flow2_completed && tablejump_p (then_bb->end))))
     return FALSE;
 
   /* If the THEN block has no successors, conditional execution can still
@@ -2093,7 +2093,8 @@
 	   && then_succ->dest == else_succ->dest
 	   && else_bb->pred->pred_next == NULL_EDGE
 	   && else_succ->succ_next == NULL_EDGE
-	   && ! (else_succ->flags & EDGE_COMPLEX))
+	   && ! (else_succ->flags & EDGE_COMPLEX)
+	   && ! (flow2_completed && tablejump_p (else_bb->end)))
     join_bb = else_succ->dest;
 
   /* Otherwise it is not an IF-THEN or IF-THEN-ELSE combination.  */


More information about the p4-projects mailing list