This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [rtlopt] Value profiling and optimalizations
- From: "Joseph S. Myers" <jsm28 at cam dot ac dot uk>
- To: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>
- Cc: <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 22 Nov 2002 00:17:32 +0000 (GMT)
- Subject: Re: [rtlopt] Value profiling and optimalizations
On Thu, 21 Nov 2002, Zdenek Dvorak wrote:
> * Makefile.in (vpt.o): New file.
> (toplev.o, profile.o): Add vpt.h dependecy.
> * vpt.h: New.
> * vpt.c: New.
> * combine.c (distribute_notes): Handle REG_VALUE_HISTOGRAM note.
> * flags.h (flag_value_histograms): Declare.
> * gcov-io.h (GCOV_TAG_VALUE_HISTOGRAMS): New.
> (struct function_info): Add n_value_histogram_counters field.
> (struct gcov_info): Add value_counts and n_value_counts fields.
> * libgcc2.c (gcov_exit, __gcov_flush): Write out value histograms.
> * profile.c: Include vpt.h.
> (struct function_list): Add value_counters field.
> (value_histograms_label): New.
> (gen_loop_profiler): Deleted.
> (gen_interval_profiler, gen_range_profiler, gen_pow2_profiler,
> gen_one_value_profiler): New.
> (get_histogram_counts, instrument_loops, compute_loop_histograms,
> init_branch_prob): Modified.
> (index_counts_file): Fix mistakes.
> (instrument_values, compute_value_histograms): New.
> (branch_prob): Call them.
> (create_profiler): Emit requiered structures.
> * profile.h (struct profile_info): Add count_value_counters,
> count_value_counters_now and have_value_histograms fields.
> * rtl.c (reg_note_name): Add REG_VALUE_HISTOGRAM.
> * rtl.h (enum reg_note): Ditto.
> * toplev.c: Include vpt.h.
> (enum dump_file_index, dump_file): Add vpt dump file.
> (flag_value_histograms, flag_value_profile_transformations): New.
> (lang_independent_options): Add them.
> (rest_of_compilation): Add vpt pass.
You're missing documentation - at least, for the new options in
invoke.texi, for the new RTL dump, and for the new source files in
passes.texi. I don't know whether this branch requires documentation, but
the documentation is needed before this can be merged to mainline.
--
Joseph S. Myers
jsm28@cam.ac.uk