diff options
Diffstat (limited to 'gcc/coverage.cc')
-rw-r--r-- | gcc/coverage.cc | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/coverage.cc b/gcc/coverage.cc index 7181e75..75a24c6 100644 --- a/gcc/coverage.cc +++ b/gcc/coverage.cc @@ -235,9 +235,10 @@ 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 (); + profile_info->cutoff = 1; } else if (GCOV_TAG_IS_COUNTER (tag) && fn_ident) { @@ -1253,6 +1254,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 +1316,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. */ |