r198057 - in /branches/google/gcc-4_7/gcc: Make...

dehao@gcc.gnu.org dehao@gcc.gnu.org
Thu Apr 18 15:29:00 GMT 2013


Author: dehao
Date: Thu Apr 18 15:29:10 2013
New Revision: 198057

URL: http://gcc.gnu.org/viewcvs?rev=198057&root=gcc&view=rev
Log:
1. Adds value profile optimization support to AutoFDO.
2. Change profile format to read function name from string table.
3. Change AutoFDO early inline heuristic to yield more VPT opportunities.

2013-04-18  Dehao Chen  <dehao@google.com>

	* gcc/opts.c (common_handle_option): Enable VPT for AutoFDO
	* gcc/auto-profile.c (struct gcov_stack): Ditto.
	(struct gcov_hist): Ditto.
	(afdo_stack_eq): Ditto.
	(afdo_indirect_call): Ditto.
	(afdo_vpt): Ditto.
	(get_stack_count): Ditto.
	(get_stmt_count): Ditto.
	(afdo_get_callsite_count): Ditto.
	(afdo_get_bb_count): Ditto.
	(afdo_annotate_cfg): Ditto.
	(read_profile): Ditto.
	(end_auto_profile): Ditto.
	(afdo_callsite_hot_enough_for_early_inline): New einline heuristic.
	(auto_profile): Ditto.
	* gcc/auto-profile.h (afdo_callsite_hot_enough_for_early_inline):
	New function.
	* gcc/tree-inline.c (copy_bb): Enable VPT for AutoFDO.
	* gcc/value-prof.c (gimple_alloc_histogram_value): Ditto.
	(find_func_by_global_id): Ditto.
	(gimple_ic_transform_mult_targ): Ditto.
	* gcc/value-prof.h (gimple_alloc_histogram_value): Ditto.
	* gcc/coverage.h (find_func_by_global_id): Ditto.
	* gcc/cgraphbuild.c (add_fake_indirect_call_edges): Ditto.
	* gcc/ipa-inline.c (want_early_inline_function_p): New einline
	heuristic.

Modified:
    branches/google/gcc-4_7/gcc/Makefile.in
    branches/google/gcc-4_7/gcc/auto-profile.c
    branches/google/gcc-4_7/gcc/auto-profile.h
    branches/google/gcc-4_7/gcc/cgraphbuild.c
    branches/google/gcc-4_7/gcc/coverage.h
    branches/google/gcc-4_7/gcc/ipa-inline.c
    branches/google/gcc-4_7/gcc/opts.c
    branches/google/gcc-4_7/gcc/tree-inline.c
    branches/google/gcc-4_7/gcc/value-prof.c
    branches/google/gcc-4_7/gcc/value-prof.h



More information about the Gcc-cvs mailing list