diff options
author | Richard Sandiford <richard.sandiford@linaro.org> | 2017-11-05 17:19:35 +0000 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@linaro.org> | 2017-11-05 17:19:35 +0000 |
commit | 648f8fc59b2cc39abd24f4c22388b346cdebcc31 (patch) | |
tree | 3a07eccc4c22b265261edd75c9ec3910d9c626f5 /gcc/cgraphbuild.c | |
parent | 7bef5b82e4109778a0988d20e19e1ed29dadd835 (diff) | |
parent | 8c089b5c15a7b35644750ca393f1e66071ad9aa9 (diff) | |
download | gcc-648f8fc59b2cc39abd24f4c22388b346cdebcc31.tar.gz |
Merge trunk into sve
Diffstat (limited to 'gcc/cgraphbuild.c')
-rw-r--r-- | gcc/cgraphbuild.c | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/gcc/cgraphbuild.c b/gcc/cgraphbuild.c index d853acd883d..dd4bf9a7fa3 100644 --- a/gcc/cgraphbuild.c +++ b/gcc/cgraphbuild.c @@ -190,21 +190,8 @@ record_eh_tables (cgraph_node *node, function *fun) int compute_call_stmt_bb_frequency (tree decl, basic_block bb) { - int entry_freq = ENTRY_BLOCK_PTR_FOR_FN - (DECL_STRUCT_FUNCTION (decl))->frequency; - int freq = bb->frequency; - - if (profile_status_for_fn (DECL_STRUCT_FUNCTION (decl)) == PROFILE_ABSENT) - return CGRAPH_FREQ_BASE; - - if (!entry_freq) - entry_freq = 1, freq++; - - freq = freq * CGRAPH_FREQ_BASE / entry_freq; - if (freq > CGRAPH_FREQ_MAX) - freq = CGRAPH_FREQ_MAX; - - return freq; + return bb->count.to_cgraph_frequency + (ENTRY_BLOCK_PTR_FOR_FN (DECL_STRUCT_FUNCTION (decl))->count); } /* Mark address taken in STMT. */ @@ -415,7 +402,7 @@ cgraph_edge::rebuild_edges (void) node->remove_callees (); node->remove_all_references (); - node->count = ENTRY_BLOCK_PTR_FOR_FN (cfun)->count; + node->count = ENTRY_BLOCK_PTR_FOR_FN (cfun)->count.ipa (); FOR_EACH_BB_FN (bb, cfun) { |