From b0e66512ee26dec9b4e20b612bab88f6163fe48a Mon Sep 17 00:00:00 2001 From: Dehao Chen Date: Fri, 16 May 2014 20:40:29 +0000 Subject: cfghooks.c (make_forwarder_block): Use direct computation to get fall-through edge's count and frequency. 2014-05-16 Dehao Chen * cfghooks.c (make_forwarder_block): Use direct computation to get fall-through edge's count and frequency. From-SVN: r210528 --- gcc/cfghooks.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'gcc/cfghooks.c') diff --git a/gcc/cfghooks.c b/gcc/cfghooks.c index bc1634a..66313df 100644 --- a/gcc/cfghooks.c +++ b/gcc/cfghooks.c @@ -833,6 +833,9 @@ make_forwarder_block (basic_block bb, bool (*redirect_edge_p) (edge), fallthru = split_block_after_labels (bb); dummy = fallthru->src; + dummy->count = 0; + dummy->frequency = 0; + fallthru->count = 0; bb = fallthru->dest; /* Redirect back edges we want to keep. */ @@ -842,20 +845,13 @@ make_forwarder_block (basic_block bb, bool (*redirect_edge_p) (edge), if (redirect_edge_p (e)) { + dummy->frequency += EDGE_FREQUENCY (e); + dummy->count += e->count; + fallthru->count += e->count; ei_next (&ei); continue; } - dummy->frequency -= EDGE_FREQUENCY (e); - dummy->count -= e->count; - if (dummy->frequency < 0) - dummy->frequency = 0; - if (dummy->count < 0) - dummy->count = 0; - fallthru->count -= e->count; - if (fallthru->count < 0) - fallthru->count = 0; - e_src = e->src; jump = redirect_edge_and_branch_force (e, bb); if (jump != NULL) -- cgit v1.1