Commit c04cf67b by Richard Henderson Committed by Richard Henderson

cfgcleanup.c (outgoing_edges_match): Check for insn match with a single outgoing edge too.

        * cfgcleanup.c (outgoing_edges_match): Check for insn match with
        a single outgoing edge too.

From-SVN: r48114
parent 25b44be5
2001-12-17 Richard Henderson <rth@redhat.com>
* cfgcleanup.c (outgoing_edges_match): Check for insn match with
a single outgoing edge too.
Mon Dec 17 18:27:52 CET 2001 Jan Hubicka <jh@suse.cz>
* cfgrtl.c (redirect_edge_and_branch): Do simplify abnormal
......
......@@ -956,11 +956,14 @@ outgoing_edges_match (mode, bb1, bb2)
edge fallthru1 = 0, fallthru2 = 0;
edge e1, e2;
/* If BB1 has only one successor, we must be looking at an unconditional
jump. Which, by the assumption above, means that we only need to check
that BB2 has one successor. */
/* If BB1 has only one successor, we may be looking at either an
unconditional jump, or a fake edge to exit. */
if (bb1->succ && !bb1->succ->succ_next)
return (bb2->succ && !bb2->succ->succ_next);
{
if (! bb2->succ || bb2->succ->succ_next)
return false;
return insns_match_p (mode, bb1->end, bb2->end);
}
/* Match conditional jumps - this may get tricky when fallthru and branch
edges are crossed. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment