aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-inline.c
diff options
context:
space:
mode:
authorMartin Jambor <mjambor@suse.cz>2010-07-22 11:33:11 +0200
committerMartin Jambor <jamborm@gcc.gnu.org>2010-07-22 11:33:11 +0200
commit02ec698819babb12a43f548bb09d93fa3aea12ea (patch)
tree172d88f971d14aa07a31e2593610ff9314ed5781 /gcc/tree-inline.c
parent8d6cd38823a1cde8549699340f3b331882502592 (diff)
downloadgcc-02ec698819babb12a43f548bb09d93fa3aea12ea.zip
gcc-02ec698819babb12a43f548bb09d93fa3aea12ea.tar.gz
gcc-02ec698819babb12a43f548bb09d93fa3aea12ea.tar.bz2
cgraphunit.c (verify_edge_count_and_frequency): New function.
2010-07-22 Martin Jambor <mjambor@suse.cz> * cgraphunit.c (verify_edge_count_and_frequency): New function. (verify_cgraph_node): Verify frequencies of indirect edges. * tree-inline.c (tree_function_versioning): Update frequencies of indirect edges. From-SVN: r162406
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r--gcc/tree-inline.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index 5b429eb..dc09c29 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -5184,7 +5184,15 @@ tree_function_versioning (tree old_decl, tree new_decl,
for (e = new_version_node->callees; e; e = e->next_callee)
{
basic_block bb = gimple_bb (e->call_stmt);
- e->frequency = compute_call_stmt_bb_frequency (current_function_decl, bb);
+ e->frequency = compute_call_stmt_bb_frequency (current_function_decl,
+ bb);
+ e->count = bb->count;
+ }
+ for (e = new_version_node->indirect_calls; e; e = e->next_callee)
+ {
+ basic_block bb = gimple_bb (e->call_stmt);
+ e->frequency = compute_call_stmt_bb_frequency (current_function_decl,
+ bb);
e->count = bb->count;
}
}