diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-08-09 18:23:23 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-08-09 18:23:23 +0000 |
commit | fe37be54bf30dcc788901421a0dcb6b779363aab (patch) | |
tree | 58562426672deca3c5be2e63eabd43cdf4af64ae /gcc/coverage.h | |
parent | 5e75682e00cb61df3e7bc86efb2ce04cd7d67d56 (diff) | |
download | gcc-fe37be54bf30dcc788901421a0dcb6b779363aab.tar.gz |
* cgraph.h (cgraph_node): Add profile_id.
* value-prof.c (cgraph_node_map): Turn into pointer_map.
(init_node_map): Rewrite to handle hashes increas of incremental
IDs.
(del_node_map): Update.
(find_func_by_funcdef_no): Replace by ...
(find_func_by_profile_id): ... this one.
(gimple_ic_transform): Do not remove useful histograms when
speculation is not done; dump info when indirect call removal
can happen at LTO.
* value-prof.h (find_func_by_profile_id, gimple_ic): Declare.
* gcov-io.h (__gcov_indirect_call_profiler): Replace by ...
(__gcov_indirect_call_profiler_v2): .. this one.
* profile.h (init_node_map): Update.
* coverage.c (coverage_compute_profile_id): New function.
* coverage.h (coverage_compute_profile_id): Declare.
* tree-profile.c (init_ic_make_global_vars): Make
__gcov_indirect_call_callee and __gcov_indirect_call_counters global.
(gimple_init_edge_profiler): Update prototype of
__gcov_indirect_call_profiler.
(gimple_gen_ic_func_profiler): Simplify.
(tree_profiling): Use init_node_map
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201634 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/coverage.h')
-rw-r--r-- | gcc/coverage.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/coverage.h b/gcc/coverage.h index 21afe7298ff..342d73e1653 100644 --- a/gcc/coverage.h +++ b/gcc/coverage.h @@ -35,6 +35,9 @@ extern void coverage_end_function (unsigned, unsigned); /* Compute the control flow checksum for the current function. */ extern unsigned coverage_compute_cfg_checksum (void); +/* Compute the profile id of function N. */ +extern unsigned coverage_compute_profile_id (struct cgraph_node *n); + /* Compute the line number checksum for the current function. */ extern unsigned coverage_compute_lineno_checksum (void); |