diff options
Diffstat (limited to 'gcc/profile-count.cc')
-rw-r--r-- | gcc/profile-count.cc | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/gcc/profile-count.cc b/gcc/profile-count.cc index 22c109a..e857cdd 100644 --- a/gcc/profile-count.cc +++ b/gcc/profile-count.cc @@ -94,9 +94,16 @@ profile_count::dump (FILE *f, struct function *fun) const else if (fun && initialized_p () && fun->cfg && ENTRY_BLOCK_PTR_FOR_FN (fun)->count.initialized_p ()) - fprintf (f, "%" PRId64 " (%s, freq %.4f)", m_val, - profile_quality_display_names[m_quality], - to_sreal_scale (ENTRY_BLOCK_PTR_FOR_FN (fun)->count).to_double ()); + { + if (compatible_p (ENTRY_BLOCK_PTR_FOR_FN (fun)->count)) + fprintf (f, "%" PRId64 " (%s, freq %.4f)", m_val, + profile_quality_display_names[m_quality], + to_sreal_scale + (ENTRY_BLOCK_PTR_FOR_FN (fun)->count).to_double ()); + else + fprintf (f, "%" PRId64 " (%s, incompatible with entry block count)", + m_val, profile_quality_display_names[m_quality]); + } else fprintf (f, "%" PRId64 " (%s)", m_val, profile_quality_display_names[m_quality]); |