Hi,
this patch fixes compute_function_frequency to work well with profiles
that was downgraded from IPA to local profiles.  

Bootstrapped/regtested x86_64-linux, comitted.

honza

        * predict.c (compute_function_frequency): Check for presence of IPA
        profile.
Index: predict.c
===================================================================
--- predict.c   (revision 279167)
+++ predict.c   (working copy)
@@ -3932,13 +3932,11 @@ compute_function_frequency (void)
   if (DECL_STATIC_DESTRUCTOR (current_function_decl))
     node->only_called_at_exit = true;
 
-  if (profile_status_for_fn (cfun) != PROFILE_READ)
+  if (!ENTRY_BLOCK_PTR_FOR_FN (cfun)->count.ipa_p ())
     {
       int flags = flags_from_decl_or_type (current_function_decl);
-      if ((ENTRY_BLOCK_PTR_FOR_FN (cfun)->count.ipa_p ()
-          && ENTRY_BLOCK_PTR_FOR_FN (cfun)->count.ipa() == profile_count::zero 
())
-         || lookup_attribute ("cold", DECL_ATTRIBUTES (current_function_decl))
-            != NULL)
+      if (lookup_attribute ("cold", DECL_ATTRIBUTES (current_function_decl))
+         != NULL)
        {
           node->frequency = NODE_FREQUENCY_UNLIKELY_EXECUTED;
          warn_function_cold (current_function_decl);

Reply via email to