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