aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcov-io.c
diff options
context:
space:
mode:
authorTeresa Johnson <tejohnson@google.com>2012-11-30 16:47:04 +0000
committerTeresa Johnson <tejohnson@gcc.gnu.org>2012-11-30 16:47:04 +0000
commit2730ada7a02e99f9a3088b74b1ff588255c40154 (patch)
tree2f91f256a35f639f54c8da185d2974983b74c68a /gcc/gcov-io.c
parentc1ed6a0172fa629c31f23f99d76b3fa0109bb66b (diff)
downloadgcc-2730ada7a02e99f9a3088b74b1ff588255c40154.zip
gcc-2730ada7a02e99f9a3088b74b1ff588255c40154.tar.gz
gcc-2730ada7a02e99f9a3088b74b1ff588255c40154.tar.bz2
Revised patch to ensure that histograms from the profile summary are streamed...
Revised patch to ensure that histograms from the profile summary are streamed through the LTO files so that the working set can be computed for use in downstream optimizations. 2012-11-30 Teresa Johnson <tejohnson@google.com> * lto-cgraph.c (output_profile_summary): Stream out sum_all and histogram. (input_profile_summary): Stream in sum_all and histogram. (merge_profile_summaries): Merge sum_all and histogram, and change to use RDIV. (input_symtab): Call compute_working_sets after merging summaries. * gcov-io.c (gcov_histo_index): Make extern for compiler. * gcov-io.h (gcov_histo_index): Ditto. * profile.c (compute_working_sets): Remove static keyword. * profile.h (compute_working_sets): Ditto. * Makefile.in (lto-cgraph.o): Depend on profile.h. From-SVN: r193999
Diffstat (limited to 'gcc/gcov-io.c')
-rw-r--r--gcc/gcov-io.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/gcc/gcov-io.c b/gcc/gcov-io.c
index 109401c..f45c32c 100644
--- a/gcc/gcov-io.c
+++ b/gcc/gcov-io.c
@@ -622,11 +622,15 @@ gcov_time (void)
}
#endif /* IN_GCOV */
-#if IN_LIBGCOV || !IN_GCOV
+#if !IN_GCOV
/* Determine the index into histogram for VALUE. */
+#if IN_LIBGCOV
static unsigned
-gcov_histo_index(gcov_type value)
+#else
+GCOV_LINKAGE unsigned
+#endif
+gcov_histo_index (gcov_type value)
{
gcov_type_unsigned v = (gcov_type_unsigned)value;
unsigned r = 0;
@@ -664,8 +668,8 @@ gcov_histo_index(gcov_type value)
its entry's original cumulative counter value when computing the
new merged cum_value. */
-static void gcov_histogram_merge(gcov_bucket_type *tgt_histo,
- gcov_bucket_type *src_histo)
+static void gcov_histogram_merge (gcov_bucket_type *tgt_histo,
+ gcov_bucket_type *src_histo)
{
int src_i, tgt_i, tmp_i = 0;
unsigned src_num, tgt_num, merge_num;
@@ -801,4 +805,4 @@ static void gcov_histogram_merge(gcov_bucket_type *tgt_histo,
/* Finally, copy the merged histogram into tgt_histo. */
memcpy(tgt_histo, tmp_histo, sizeof (gcov_bucket_type) * GCOV_HISTOGRAM_SIZE);
}
-#endif /* IN_LIBGCOV || !IN_GCOV */
+#endif /* !IN_GCOV */