This is the mail archive of the gcc-cvs@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]

r175354 - in /branches/google/main/gcc: ChangeL...


Author: tmsriram
Date: Thu Jun 23 21:38:39 2011
New Revision: 175354

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=175354
Log:
2011-06-23   Sharad Singhai  <singhai@google.com>

	* libgcc/Makefile.in: Add pmu-profile.o to libgcov.
	* gcc/doc/invoke.texi: Document new pmu profile related options.
	* gcc/doc/gcov.texi: Document new options -m and -q.
	* gcc/gcc.c: Link libgcov for -fpmu-profile-generate option.
	* gcc/gcov.c (filter_pmu_data_lines): New function.
	(output_pmu_data_header): Ditto.
	(output_pmu_data): Ditto.
	(output_load_latency_line): Ditto.
	(output_branch_mispredict_line): Ditto.
	(static void process_pmu_profile): Ditto.
	* gcc/gcov-io.c (gcov_canonical_filename): New function.
	(gcov_read_pmu_load_latency_info): Ditto.
	(gcov_read_pmu_branch_mispredict_info): Ditto.
	(gcov_read_pmu_tool_header): Ditto.
	(gcov_string_length): Ditto.
	(convert_unsigned_to_pct): Ditto.
	(print_load_latency_line): Ditto.
	(print_branch_mispredict_line): Ditto.
	(print_pmu_tool_header): Ditto.
	(destroy_pmu_tool_header): Ditto.
	(gcov_read_string): Make it unconditionally available.
	* gcc/gcov-io.h (struct gcov_pmu_info): New structure.
	* gcc/opts.c: New option -fpmu-profile-generate.
	* gcc/pmu-profile.c (enum pmu_tool_type): New structure.
	(enum pmu_event_type): Ditto.
	(enum pmu_state): Ditto.
	(enum cpu_vendor_signature): Ditto.
	(struct pmu_tool_info): Ditto.
	(get_x86cpu_vendor): New function.
	(parse_pmu_profile_options): Ditto.
	(start_addr2line_symbolizer): Ditto.
	(reset_symbolizer_parent_pipes): Ditto.
	(reset_symbolizer_child_pipes): Ditto.
	(end_addr2line_symbolizer): Ditto.
	(symbolize_addr2line): Ditto.
	(start_pfmon_module): Ditto.
	(convert_pct_to_unsigned): Ditto.
	(parse_load_latency_line): Ditto.
	(parse_branch_mispredict_line): Ditto.
	(destroy_load_latency_infos): Ditto.
	(destroy_branch_mispredict_infos): Ditto.
	(parse_pfmon_load_latency): Ditto.
	(parse_pfmon_tool_header): Ditto.
	(parse_pfmon_branch_mispredicts): Ditto.
	(pmu_start): Ditto.
	(init_pmu_load_latency): Ditto.
	(init_pmu_branch_mispredict): Ditto.
	(init_pmu_tool): Ditto.
	(__gcov_init_pmu_profiler): Ditto.
	(__gcov_start_pmu_profiler): Ditto.
	(__gcov_stop_pmu_profiler): Ditto.
	(gcov_write_ll_line): Ditto.
	(gcov_write_branch_mispredict_line): Ditto.
	(gcov_write_load_latency_infos): Ditto.
	(gcov_write_branch_mispredict_infos): Ditto.
	(gcov_tag_pmu_tool_header_length): Ditto.
	(gcov_write_tool_header): Ditto.
	(__gcov_end_pmu_profiler): Ditto.
	* gcc/coverage.c (get_const_string_type): New function.
	(create_coverage): Do the coverage processing even if only
	flag_pmu_profile_generate is specified.
	(coverage_init): Call gimple_init_instrumentation_sampling from here instead
	from tree-profile.c:gimple_init_edge_profiler.
	(profiling_enabled_p): New function.
	(init_pmu_profiling): Ditto.
	(check_pmu_profile_options): Ditto.
	* gcc/coverage.h (check_pmu_profile_options): Declaration.
	(tree_init_instrumentation_sampling): Declaration.
	* gcc/common.opt: Add new options -fpmu-profile-generate and
	-fpmu-profile-use.
	* gcc/tree-profile.c (gimple_init_instrumentation_sampling): Make
	extern. Move the call from gimple_init_edge_profiler to
	coverage.c:coverage_init.
	* gcc/libgcov.c (gcov_alloc_filename) [__GCOV_KERNEL__]: Moved earlier.
	(gcov_alloc_filename) [!__GCOV_KERNEL__]: Initialize gi_filename_up.
	(pmu_profile_stop): New function.
	(gcov_dump_module_info): Replace gcov_strip_leading_dirs with a macro.
	(__gcov_init): Add initialization of PMU profiler.
	(gcov_exit): Add finalization of PMU profiler.
	(gcov_get_filename): Cleanup whitespaces.
	* gcc/params.def: New parameter pmu_profile_n_addresses.
	* gcc/gcov-dump.c (tag_pmu_load_latency_info): New function.
	(tag_pmu_branch_mispredict_info): Ditto.
	(tag_pmu_tool_header): Ditto.


Added:
    branches/google/main/gcc/pmu-profile.c
Modified:
    branches/google/main/gcc/ChangeLog.google-main
    branches/google/main/gcc/common.opt
    branches/google/main/gcc/coverage.c
    branches/google/main/gcc/coverage.h
    branches/google/main/gcc/doc/gcov.texi
    branches/google/main/gcc/doc/invoke.texi
    branches/google/main/gcc/gcc.c
    branches/google/main/gcc/gcov-dump.c
    branches/google/main/gcc/gcov-io.c
    branches/google/main/gcc/gcov-io.h
    branches/google/main/gcc/gcov.c
    branches/google/main/gcc/libgcov.c
    branches/google/main/gcc/opts.c
    branches/google/main/gcc/params.def
    branches/google/main/gcc/tree-profile.c


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