This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, autofdo] Some code cleanup


> Hi,
> 
>     I updated the patch adding one ChangeLog entry.
>     OK for the trunk?  Thanks.

OK thanks.
(for my taste the else before return is OK, but I do not mind either way.
Comment updates are definitly welcome)

Honza
> 
> 
> Index: gcc/ChangeLog
> ===================================================================
> --- gcc/ChangeLog	(revision 219297)
> +++ gcc/ChangeLog	(working copy)
> @@ -1,3 +1,12 @@
> +2015-01-17  Felix Yang  <felix.yang@huawei.com>
> +
> +	* auto-profile.c (afdo_find_equiv_class): Remove unnecessary code.
> +	(autofdo_source_profile::get_callsite_total_count,
> +	function_instance::get_function_instance_by_decl,
> +	string_table::get_index, string_table::get_index_by_decl,
> +	afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
> +	Fix comment typos and formatting.
> +
>  2015-01-06  Sandra Loosemore  <sandra@codesourcery.com>
>  
>  	* doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
> Index: gcc/auto-profile.c
> ===================================================================
> --- gcc/auto-profile.c	(revision 219297)
> +++ gcc/auto-profile.c	(working copy)
> @@ -96,7 +96,7 @@ along with GCC; see the file COPYING3.  If not see
>       standalone symbol, or a clone of a function that is inlined into another
>       function.
>  
> -   Phase 2: Early inline + valur profile transformation.
> +   Phase 2: Early inline + value profile transformation.
>       Early inline uses autofdo_source_profile to find if a callsite is:
>          * inlined in the profiled binary.
>          * callee body is hot in the profiling run.
> @@ -361,7 +361,7 @@ get_original_name (const char *name)
>  
>  /* Return the combined location, which is a 32bit integer in which
>     higher 16 bits stores the line offset of LOC to the start lineno
> -   of DECL, The lower 16 bits stores the discrimnator.  */
> +   of DECL, The lower 16 bits stores the discriminator.  */
>  
>  static unsigned
>  get_combined_location (location_t loc, tree decl)
> @@ -424,7 +424,7 @@ get_inline_stack (location_t locus, inline_stack *
>  
>  /* Return STMT's combined location, which is a 32bit integer in which
>     higher 16 bits stores the line offset of LOC to the start lineno
> -   of DECL, The lower 16 bits stores the discrimnator.  */
> +   of DECL, The lower 16 bits stores the discriminator.  */
>  
>  static unsigned
>  get_relative_location_for_stmt (gimple stmt)
> @@ -481,8 +481,8 @@ string_table::get_index (const char *name) const
>    string_index_map::const_iterator iter = map_.find (name);
>    if (iter == map_.end ())
>      return -1;
> -  else
> -    return iter->second;
> +
> +  return iter->second;
>  }
>  
>  /* Return the index of a given function DECL. Return -1 if DECL is not 
> @@ -502,8 +502,8 @@ string_table::get_index_by_decl (tree decl) const
>      return ret;
>    if (DECL_ABSTRACT_ORIGIN (decl))
>      return get_index_by_decl (DECL_ABSTRACT_ORIGIN (decl));
> -  else
> -    return -1;
> +
> +  return -1;
>  }
>  
>  /* Return the function name of a given INDEX.  */
> @@ -569,8 +569,8 @@ function_instance::get_function_instance_by_decl (
>      }
>    if (DECL_ABSTRACT_ORIGIN (decl))
>      return get_function_instance_by_decl (lineno, DECL_ABSTRACT_ORIGIN (decl));
> -  else
> -    return NULL;
> +
> +  return NULL;
>  }
>  
>  /* Store the profile info for LOC in INFO. Return TRUE if profile info
> @@ -597,7 +597,7 @@ function_instance::mark_annotated (location_t loc)
>    iter->second.annotated = true;
>  }
>  
> -/* Read the inlinied indirect call target profile for STMT and store it in
> +/* Read the inlined indirect call target profile for STMT and store it in
>     MAP, return the total count for all inlined indirect calls.  */
>  
>  gcov_type
> @@ -824,8 +824,8 @@ autofdo_source_profile::get_callsite_total_count (
>        || afdo_string_table->get_index (IDENTIFIER_POINTER (
>               DECL_ASSEMBLER_NAME (edge->callee->decl))) != s->name ())
>      return 0;
> -  else
> -    return s->total_count ();
> +
> +  return s->total_count ();
>  }
>  
>  /* Read AutoFDO profile and returns TRUE on success.  */
> @@ -956,9 +956,9 @@ read_profile (void)
>     histograms for indirect-call optimization.
>  
>     This function is actually served for 2 purposes:
> -     * before annotation, we need to mark histogram, promote and inline
> -     * after annotation, we just need to mark, and let follow-up logic to
> -       decide if it needs to promote and inline.  */
> +     * before annotation, we need to mark histogram, promote and inline
> +     * after annotation, we just need to mark, and let follow-up logic to
> +       decide if it needs to promote and inline.  */
>  
>  static void
>  afdo_indirect_call (gimple_stmt_iterator *gsi, const icall_target_map &map,
> @@ -1054,7 +1054,7 @@ set_edge_annotated (edge e, edge_set *annotated)
>  }
>  
>  /* For a given BB, set its execution count. Attach value profile if a stmt
> -   is not in PROMOTED, because we only want to promot an indirect call once.
> +   is not in PROMOTED, because we only want to promote an indirect call once.
>     Return TRUE if BB is annotated.  */
>  
>  static bool
> @@ -1138,7 +1138,7 @@ afdo_find_equiv_class (bb_set *annotated_bb)
>          bb1->aux = bb;
>          if (bb1->count > bb->count && is_bb_annotated (bb1, *annotated_bb))
>            {
> -            bb->count = MAX (bb->count, bb1->count);
> +            bb->count = bb1->count;
>              set_bb_annotated (bb, annotated_bb);
>            }
>        }
> @@ -1150,7 +1150,7 @@ afdo_find_equiv_class (bb_set *annotated_bb)
>          bb1->aux = bb;
>          if (bb1->count > bb->count && is_bb_annotated (bb1, *annotated_bb))
>            {
> -            bb->count = MAX (bb->count, bb1->count);
> +            bb->count = bb1->count;
>              set_bb_annotated (bb, annotated_bb);
>            }
>        }
> @@ -1455,13 +1455,14 @@ afdo_vpt_for_early_inline (stmt_set *promoted_stmt
>            }
>        }
>    }
> +
>    if (has_vpt)
>      {
>        optimize_inline_calls (current_function_decl);
>        return true;
>      }
> -  else
> -    return false;
> +
> +  return false;
>  }
>  
>  /* Annotate auto profile to the control flow graph. Do not annotate value
> @@ -1656,19 +1657,20 @@ afdo_callsite_hot_enough_for_early_inline (struct
>  {
>    gcov_type count
>        = autofdo::afdo_source_profile->get_callsite_total_count (edge);
> +
>    if (count > 0)
>      {
>        bool is_hot;
>        const struct gcov_ctr_summary *saved_profile_info = profile_info;
> -      /* At earling inline stage, profile_info is not set yet. We need to
> +      /* At early inline stage, profile_info is not set yet. We need to
>           temporarily set it to afdo_profile_info to calculate hotness.  */
>        profile_info = autofdo::afdo_profile_info;
>        is_hot = maybe_hot_count_p (NULL, count);
>        profile_info = saved_profile_info;
>        return is_hot;
>      }
> -  else
> -    return false;
> +
> +  return false;
>  }
>  
>  namespace



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]