diff options
Diffstat (limited to 'gcc/coverage.cc')
-rw-r--r-- | gcc/coverage.cc | 9 |
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. */ |