Commit 1c061be5 by Richard Henderson Committed by Richard Henderson

tree-cfg.c (gimple_redirect_edge_and_branch): Do…

tree-cfg.c (gimple_redirect_edge_and_branch): Do gimple_try_redirect_by_replacing_jump test after no-op and EH tests.

* tree-cfg.c (gimple_redirect_edge_and_branch): Do
        gimple_try_redirect_by_replacing_jump test after no-op and EH tests.

From-SVN: r151607
parent 88e24a5a
2009-09-10 Richard Henderson <rth@redhat.com>
* tree-cfg.c (gimple_redirect_edge_and_branch): Do
gimple_try_redirect_by_replacing_jump test after no-op and EH tests.
* tree-cfg.c (split_edge_bb_loc): Don't disallow placement at
dest_prev if the edge is complex.
......
......@@ -5045,16 +5045,19 @@ gimple_redirect_edge_and_branch (edge e, basic_block dest)
if (e->flags & EDGE_ABNORMAL)
return NULL;
if (e->src != ENTRY_BLOCK_PTR
&& (ret = gimple_try_redirect_by_replacing_jump (e, dest)))
return ret;
if (e->dest == dest)
return NULL;
if (e->flags & EDGE_EH)
return redirect_eh_edge (e, dest);
if (e->src != ENTRY_BLOCK_PTR)
{
ret = gimple_try_redirect_by_replacing_jump (e, dest);
if (ret)
return ret;
}
gsi = gsi_last_bb (bb);
stmt = gsi_end_p (gsi) ? NULL : gsi_stmt (gsi);
......
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