* gcse.c (bypass_block): Use find_edge wherever possible.

From-SVN: r95873
This commit is contained in:
Kazu Hirata 2005-03-04 03:14:42 +00:00 committed by Kazu Hirata
parent 3c0d102013
commit c7d1b44986
2 changed files with 10 additions and 20 deletions

View File

@ -1,3 +1,7 @@
2005-03-04 Kazu Hirata <kazu@cs.umass.edu>
* gcse.c (bypass_block): Use find_edge wherever possible.
2005-03-03 Daniel Berlin <dberlin@dbrelin.org>
Fix PR debug/20253

View File

@ -3581,16 +3581,11 @@ bypass_block (basic_block bb, rtx setcc, rtx jump)
}
else if (GET_CODE (new) == LABEL_REF)
{
edge_iterator ei2;
dest = BLOCK_FOR_INSN (XEXP (new, 0));
/* Don't bypass edges containing instructions. */
FOR_EACH_EDGE (edest, ei2, bb->succs)
if (edest->dest == dest && edest->insns.r)
{
dest = NULL;
break;
}
edest = find_edge (bb, dest);
if (edest && edest->insns.r)
dest = NULL;
}
else
dest = NULL;
@ -3599,18 +3594,9 @@ bypass_block (basic_block bb, rtx setcc, rtx jump)
branch. We would end up emitting the instruction on "both"
edges. */
if (dest && setcc && !CC0_P (SET_DEST (PATTERN (setcc))))
{
edge e2;
edge_iterator ei2;
FOR_EACH_EDGE (e2, ei2, e->src->succs)
if (e2->dest == dest)
{
dest = NULL;
break;
}
}
if (dest && setcc && !CC0_P (SET_DEST (PATTERN (setcc)))
&& find_edge (e->src, dest))
dest = NULL;
old_dest = e->dest;
if (dest != NULL