params.def (PARAM_INDIR_CALL_TOPN_PROFILE): New param.
authorRong Xu <xur@gcc.gnu.org>
Tue, 7 Oct 2014 04:06:12 +0000 (04:06 +0000)
committerRong Xu <xur@gcc.gnu.org>
Tue, 7 Oct 2014 04:06:12 +0000 (04:06 +0000)
commit0a7501658c43bba75e8130f250ae6445eab0ea9f
tree3f660889ad3bf100d6e658c24a2f620b8f2c0414
parentafe0c5ee91ab504daf13f1c07ee5559b2ba5b6e4
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
gcc/params.def
gcc/profile.c
gcc/tree-profile.c
gcc/value-prof.c
gcc/value-prof.h