mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-19 14:59:58 +08:00
* ifcvt.c (find_if_case_2): Don't allow THEN to be EXIT.
From-SVN: r34036
This commit is contained in:
parent
228c4d97ec
commit
b6cfd26443
@ -1,5 +1,7 @@
|
||||
2000-05-19 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* ifcvt.c (find_if_case_2): Don't allow THEN to be EXIT.
|
||||
|
||||
* flow.c (make_edges): The sibling call edge to exit is abnormal.
|
||||
|
||||
2000-05-19 Richard Henderson <rth@cygnus.com>
|
||||
|
@ -1652,14 +1652,17 @@ find_if_case_2 (test_bb, then_edge, else_edge)
|
||||
if (else_bb->pred->pred_next != NULL)
|
||||
return FALSE;
|
||||
|
||||
/* THEN is not EXIT. */
|
||||
if (then_bb->index < 0)
|
||||
return FALSE;
|
||||
|
||||
/* ELSE is predicted or SUCC(ELSE) postdominates THEN. */
|
||||
note = find_reg_note (test_bb->end, REG_BR_PROB, NULL_RTX);
|
||||
if (note && INTVAL (XEXP (note, 0)) >= REG_BR_PROB_BASE / 2)
|
||||
;
|
||||
else if (else_succ->dest->index < 0
|
||||
|| (then_bb->index >= 0
|
||||
&& TEST_BIT (post_dominators[ORIG_INDEX (then_bb)],
|
||||
ORIG_INDEX (else_succ->dest))))
|
||||
|| TEST_BIT (post_dominators[ORIG_INDEX (then_bb)],
|
||||
ORIG_INDEX (else_succ->dest)))
|
||||
;
|
||||
else
|
||||
return FALSE;
|
||||
|
Loading…
Reference in New Issue
Block a user