diff options
author | Rong Xu <xur@gcc.gnu.org> | 2014-10-07 04:06:12 +0000 |
---|---|---|
committer | Rong Xu <xur@gcc.gnu.org> | 2014-10-07 04:06:12 +0000 |
commit | 0a7501658c43bba75e8130f250ae6445eab0ea9f (patch) | |
tree | 3f660889ad3bf100d6e658c24a2f620b8f2c0414 /gcc/params.def | |
parent | afe0c5ee91ab504daf13f1c07ee5559b2ba5b6e4 (diff) | |
download | gcc-0a7501658c43bba75e8130f250ae6445eab0ea9f.tar.gz |
params.def (PARAM_INDIR_CALL_TOPN_PROFILE): New param.
2014-10-06 Rong Xu <xur@google.com>
* gcc/params.def (PARAM_INDIR_CALL_TOPN_PROFILE): New param.
* gcc/tree-profile.c: (params.h): New include.
(init_ic_make_global_vars): Make __gcov_indirect_call_topn_callee
and __gcov_indirect_call_topn_counters for
indirect_call_topn_profile.
(gimple_init_edge_profiler): New decls for
__gcov_indirect_call_topn_profiler.
(gimple_gen_ic_profiler): Generate the correct profiler call.
(gimple_gen_ic_func_profiler): Fix format.
* gcc/value-prof.c (params.h): New include.
(dump_histogram_value): Hanlde indirect_call_topn counters.
(stream_in_histogram_value): Ditto.
(gimple_indirect_call_to_profile): Use indirect_call_topn
profile when PARAM_INDIR_CALL_TOPN_PROFILE is set.
(gimple_find_values_to_profile): Hanlde indirect_call_topn
counters.
* gcc/value-prof.h (enum hist_type): Histrogram type for
indirect_call_topn counters.
* gcc/profile.c (instrument_values): Instrument
indirect_call_topn counters.
From-SVN: r215963
Diffstat (limited to 'gcc/params.def')
-rw-r--r-- | gcc/params.def | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/params.def b/gcc/params.def index aefdd071f7a..beff7e63212 100644 --- a/gcc/params.def +++ b/gcc/params.def @@ -882,6 +882,14 @@ DEFPARAM (PARAM_PROFILE_FUNC_INTERNAL_ID, "use internal function id in profile lookup", 0, 0, 1) +/* When the parameter is 1, track the most frequent N target + addresses in indirect-call profile. This disables + indirect_call_profiler_v2 which tracks single target. */ +DEFPARAM (PARAM_INDIR_CALL_TOPN_PROFILE, + "indir-call-topn-profile", + "track topn target addresses in indirect-call profile", + 0, 0, 1) + /* Avoid SLP vectorization of large basic blocks. */ DEFPARAM (PARAM_SLP_MAX_INSNS_IN_BB, "slp-max-insns-in-bb", |