aboutsummaryrefslogtreecommitdiff
path: root/gcc/coverage.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/coverage.cc')
-rw-r--r--gcc/coverage.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/coverage.cc b/gcc/coverage.cc
index 7181e75..dd3ed2e 100644
--- a/gcc/coverage.cc
+++ b/gcc/coverage.cc
@@ -235,7 +235,7 @@ read_counts_file (void)
}
else if (tag == GCOV_TAG_OBJECT_SUMMARY)
{
- profile_info = XCNEW (gcov_summary);
+ gcov_profile_info = profile_info = XCNEW (gcov_summary);
profile_info->runs = gcov_read_unsigned ();
profile_info->sum_max = gcov_read_unsigned ();
}
@@ -1253,6 +1253,9 @@ coverage_obj_finish (vec<constructor_elt, va_gc> *ctor,
void
coverage_init (const char *filename)
{
+ /* If we are in LTO, the profile will be read from object files. */
+ if (in_lto_p)
+ return;
const char *original_filename = filename;
int original_len = strlen (original_filename);
#if HAVE_DOS_BASED_FILE_SYSTEM
@@ -1312,9 +1315,7 @@ coverage_init (const char *filename)
strcpy (da_file_name + prefix_len + len, GCOV_DATA_SUFFIX);
bbg_file_stamp = local_tick;
- if (flag_auto_profile)
- read_autofdo_file ();
- else if (flag_branch_probabilities)
+ if (flag_branch_probabilities)
read_counts_file ();
/* Name of bbg file. */