cfghooks.c (make_forwarder_block): Decrement count on fallthru edge when redirecting back edges.

* cfghooks.c (make_forwarder_block): Decrement count on fallthru edge
        when redirecting back edges.

        * cfghooks.c (split_block): Call make_single_succ_edge so that edge
        count/probability are set correctly.

From-SVN: r83537
This commit is contained in:
Pat Haugen 2004-06-23 04:09:46 +00:00 committed by Jeff Law
parent 1cc3d0854a
commit 649b2789d1
2 changed files with 12 additions and 1 deletions

View File

@ -1,3 +1,11 @@
2004-06-22 Pat Haugen <pthaugen@us.ibm.com>
* cfghooks.c (make_forwarder_block): Decrement count on fallthru edge
when redirecting back edges.
* cfghooks.c (split_block): Call make_single_succ_edge so that edge
count/probability are set correctly.
2004-06-22 Richard Henderson <rth@redhat.com>
* c-typeck.c (emit_side_effect_warnings): Ignore error marks.

View File

@ -321,7 +321,7 @@ split_block (basic_block bb, void *i)
set_immediate_dominator (CDI_DOMINATORS, new_bb, bb);
}
return make_edge (bb, new_bb, EDGE_FALLTHRU);
return make_single_succ_edge (bb, new_bb, EDGE_FALLTHRU);
}
/* Splits block BB just after labels. The newly created edge is returned. */
@ -566,6 +566,9 @@ make_forwarder_block (basic_block bb, bool (*redirect_edge_p) (edge),
dummy->frequency = 0;
if (dummy->count < 0)
dummy->count = 0;
fallthru->count -= e->count;
if (fallthru->count < 0)
fallthru->count = 0;
jump = redirect_edge_and_branch_force (e, bb);
if (jump)