diff options
author | xur <xur@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-10-07 04:06:12 +0000 |
---|---|---|
committer | xur <xur@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-10-07 04:06:12 +0000 |
commit | b74245ec69a1273ff362da2bbba6810ef45bc045 (patch) | |
tree | 3f660889ad3bf100d6e658c24a2f620b8f2c0414 /gcc/params.def | |
parent | 8ceaa1efdd692f5d0774ddcc2b46ed9c610bfa94 (diff) | |
download | gcc-b74245ec69a1273ff362da2bbba6810ef45bc045.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215963 138bc75d-0d04-0410-961f-82ee72b054a4
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", |