profile-count.h (profile_count::operator<): Use IPA value for comparsion.
authorJan Hubicka <hubicka@ucw.cz>
Sun, 1 Dec 2019 15:12:52 +0000 (16:12 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Sun, 1 Dec 2019 15:12:52 +0000 (15:12 +0000)
* profile-count.h (profile_count::operator<): Use IPA value for
comparsion.
(profile_count::operator>): Likewise.
(profile_count::operator<=): Likewise.
(profile_count::operator>=): Likewise.
* predict.c (maybe_hot_count_p): Do not convert to gcov_type.

From-SVN: r278885

gcc/ChangeLog
gcc/predict.c
gcc/profile-count.h

index cc33a041090c5b1d64c5c7dbe8cf76048028ea06..0b012af497af36da8c2bf588df943eb99e289207 100644 (file)
@@ -1,3 +1,12 @@
+2019-11-30  Jan Hubicka  <hubicka@ucw.cz>
+
+       * profile-count.h (profile_count::operator<): Use IPA value for
+       comparsion.
+       (profile_count::operator>): Likewise.
+       (profile_count::operator<=): Likewise.
+       (profile_count::operator>=): Likewise.
+       * predict.c (maybe_hot_count_p): Do not convert to gcov_type.
+
 2019-11-30  Jan Hubicka  <hubicka@ucw.cz>
 
        * ipa-inline.c (compute_max_insns): Return int64_t.
index 8c66a27d8b6d00ae2bf7a38ac37ca9deed8f1be4..67f850de17a478c29efb9f0be0dede15be4c986e 100644 (file)
@@ -184,7 +184,7 @@ maybe_hot_count_p (struct function *fun, profile_count count)
   /* Code executed at most once is not hot.  */
   if (count <= MAX (profile_info ? profile_info->runs : 1, 1))
     return false;
-  return (count.to_gcov_type () >= get_hot_bb_threshold ());
+  return (count >= get_hot_bb_threshold ());
 }
 
 /* Return true if basic block BB of function FUN can be CPU intensive
index 5a5c046005b184f0d0d6db709c7bc1fc51d0c80d..96145d51f2cf208e1a23413643a9384075d0adb5 100644 (file)
@@ -930,14 +930,14 @@ public:
     {
       gcc_checking_assert (ipa_p ());
       gcc_checking_assert (other >= 0);
-      return initialized_p () && m_val < (uint64_t) other;
+      return ipa ().initialized_p () && ipa ().m_val < (uint64_t) other;
     }
 
   bool operator> (const gcov_type other) const
     {
       gcc_checking_assert (ipa_p ());
       gcc_checking_assert (other >= 0);
-      return initialized_p () && m_val > (uint64_t) other;
+      return ipa ().initialized_p () && ipa ().m_val > (uint64_t) other;
     }
 
   bool operator<= (const profile_count &other) const
@@ -968,14 +968,14 @@ public:
     {
       gcc_checking_assert (ipa_p ());
       gcc_checking_assert (other >= 0);
-      return initialized_p () && m_val <= (uint64_t) other;
+      return ipa ().initialized_p () && ipa ().m_val <= (uint64_t) other;
     }
 
   bool operator>= (const gcov_type other) const
     {
       gcc_checking_assert (ipa_p ());
       gcc_checking_assert (other >= 0);
-      return initialized_p () && m_val >= (uint64_t) other;
+      return ipa ().initialized_p () && ipa ().m_val >= (uint64_t) other;
     }
 
   /* Return true when value is not zero and can be used for scaling.