aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcov-io.h
diff options
context:
space:
mode:
authorRong Xu <xur@gcc.gnu.org>2014-10-07 04:02:31 +0000
committerRong Xu <xur@gcc.gnu.org>2014-10-07 04:02:31 +0000
commitafe0c5ee91ab504daf13f1c07ee5559b2ba5b6e4 (patch)
treed43837c0db3f96bc2d979153fab89e2f3767ac1f /gcc/gcov-io.h
parentc5b0abd3ef7a0d1311b63783435ddf15bbe507fa (diff)
downloadgcc-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 'gcc/gcov-io.h')
-rw-r--r--gcc/gcov-io.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/gcov-io.h b/gcc/gcov-io.h
index 16e6c71..6fc1268 100644
--- a/gcc/gcov-io.h
+++ b/gcc/gcov-io.h
@@ -270,6 +270,12 @@ GCOV_COUNTERS
#define GCOV_N_VALUE_COUNTERS \
(GCOV_LAST_VALUE_COUNTER - GCOV_FIRST_VALUE_COUNTER + 1)
+/* The number of hottest callees to be tracked. */
+#define GCOV_ICALL_TOPN_VAL 2
+
+/* The number of counter entries per icall callsite. */
+#define GCOV_ICALL_TOPN_NCOUNTS (1 + GCOV_ICALL_TOPN_VAL * 4)
+
/* Convert a counter index to a tag. */
#define GCOV_TAG_FOR_COUNTER(COUNT) \
(GCOV_TAG_COUNTER_BASE + ((gcov_unsigned_t)(COUNT) << 17))