diff options
author | Rong Xu <xur@gcc.gnu.org> | 2014-10-07 04:02:31 +0000 |
---|---|---|
committer | Rong Xu <xur@gcc.gnu.org> | 2014-10-07 04:02:31 +0000 |
commit | afe0c5ee91ab504daf13f1c07ee5559b2ba5b6e4 (patch) | |
tree | d43837c0db3f96bc2d979153fab89e2f3767ac1f /libgcc/libgcov.h | |
parent | c5b0abd3ef7a0d1311b63783435ddf15bbe507fa (diff) | |
download | gcc-afe0c5ee91ab504daf13f1c07ee5559b2ba5b6e4.zip gcc-afe0c5ee91ab504daf13f1c07ee5559b2ba5b6e4.tar.gz gcc-afe0c5ee91ab504daf13f1c07ee5559b2ba5b6e4.tar.bz2 |
Makefile.in: Fix dependence.
2014-10-06 Rong Xu <xur@google.com>
* gcc/Makefile.in: Fix dependence.
* gcc/gcov-counter.def (GCOV_COUNTER_ICALL_TOPNV): Add
indirect call topn profiler.
* gcc/gcov-io.h: Ditto.
* libgcc/Makefile.in: Ditto.
* libgcc/libgcov-driver.c (gcov_sort_n_vals): New utility function.
(gcov_sort_icall_topn_counter): Ditto.
(gcov_sort_topn_counter_arrays): Ditto.
(dump_one_gcov): Sort indirect_call topn counters.
* libgcc/libgcov-merge.c (__gcov_merge_icall_topn): New merge
function.
* libgcc/libgcov-profiler.c (__gcov_topn_value_profiler_body): New
utility function.
(__gcov_indirect_call_topn_profiler): New profiler function.
* libgcc/libgcov-util.c (__gcov_icall_topn_counter_op): New.
* libgcc/libgcov.h: New decls.
From-SVN: r215962
Diffstat (limited to 'libgcc/libgcov.h')
-rw-r--r-- | libgcc/libgcov.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libgcc/libgcov.h b/libgcc/libgcov.h index 3816b6a..7830063 100644 --- a/libgcc/libgcov.h +++ b/libgcc/libgcov.h @@ -100,6 +100,7 @@ typedef unsigned gcov_type_unsigned __attribute__ ((mode (QI))); #define gcov_read_unsigned __gcov_read_unsigned #define gcov_read_counter __gcov_read_counter #define gcov_read_summary __gcov_read_summary +#define gcov_sort_n_vals __gcov_sort_n_vals #else /* IN_GCOV_TOOL */ /* About the host. */ @@ -128,6 +129,7 @@ typedef unsigned gcov_position_t; #define L_gcov_merge_delta 1 #define L_gcov_merge_ior 1 #define L_gcov_merge_time_profile 1 +#define L_gcov_merge_icall_topn 1 extern gcov_type gcov_read_counter_mem (); extern unsigned gcov_get_merge_weight (); @@ -261,6 +263,9 @@ extern void __gcov_merge_delta (gcov_type *, unsigned) ATTRIBUTE_HIDDEN; /* The merge function that just ors the counters together. */ extern void __gcov_merge_ior (gcov_type *, unsigned) ATTRIBUTE_HIDDEN; +/* The merge function is used for topn indirect call counters. */ +extern void __gcov_merge_icall_topn (gcov_type *, unsigned) ATTRIBUTE_HIDDEN; + /* The profiler functions. */ extern void __gcov_interval_profiler (gcov_type *, gcov_type, int, unsigned); extern void __gcov_pow2_profiler (gcov_type *, gcov_type); @@ -271,6 +276,8 @@ extern void __gcov_indirect_call_profiler_v2 (gcov_type, void *); extern void __gcov_time_profiler (gcov_type *); extern void __gcov_average_profiler (gcov_type *, gcov_type); extern void __gcov_ior_profiler (gcov_type *, gcov_type); +extern void __gcov_indirect_call_topn_profiler (gcov_type, void *); +extern void gcov_sort_n_vals (gcov_type *, int); #ifndef inhibit_libc /* The wrappers around some library functions.. */ |