From: Richard Biener <richard.guenther@gmail.com>
To: Andrew Pinski <apinski@marvell.com>
Cc: gcc-patches@gcc.gnu.org
Subject: Re: [PATCH] Move combine over to statistics_counter_event.
Date: Thu, 20 Jul 2023 09:34:23 +0200 [thread overview]
Message-ID: <CAFiYyc3RR_vsLBcijx8W0hc2XouQJjE67760UtHfQmZKsKJ1nw@mail.gmail.com> (raw)
In-Reply-To: <20230720024142.1448443-1-apinski@marvell.com>
On Thu, Jul 20, 2023 at 4:42 AM Andrew Pinski via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> Since we have statistics_counter_event now, combine should use that
> instead of it is own custom printing of statistics.
> The only thing that is not done any more after this patch is printing
> out the total stats for the whole TU.
you can use -fdump-statistics-stats to get the total counts (but not
in the combine
dumpfile).
>
> Note you need to use -fdump-rtl-combine-stats to get the stats in the combine
> dump unlike before where the stats was dumped directly into the file.
>
> OK? Bootstrapped and tested on x86_64-linux-gnu with no regressions.
OK.
Thanks,
Richard.
> gcc/ChangeLog:
>
> * combine.cc (dump_combine_stats): Remove.
> (dump_combine_total_stats): Remove.
> (total_attempts, total_merges, total_extras,
> total_successes): Remove.
> (combine_instructions): Don't increment total stats
> instead use statistics_counter_event.
> * dumpfile.cc (print_combine_total_stats): Remove.
> * dumpfile.h (print_combine_total_stats): Remove.
> (dump_combine_total_stats): Remove.
> * passes.cc (finish_optimization_passes):
> Don't call print_combine_total_stats.
> * rtl.h (dump_combine_total_stats): Remove.
> (dump_combine_stats): Remove.
> ---
> gcc/combine.cc | 30 ++++--------------------------
> gcc/dumpfile.cc | 9 ---------
> gcc/dumpfile.h | 3 ---
> gcc/passes.cc | 7 -------
> gcc/rtl.h | 2 --
> 5 files changed, 4 insertions(+), 47 deletions(-)
>
> diff --git a/gcc/combine.cc b/gcc/combine.cc
> index d9161b257e8..4bf867d74b0 100644
> --- a/gcc/combine.cc
> +++ b/gcc/combine.cc
> @@ -108,10 +108,6 @@ static int combine_extras;
>
> static int combine_successes;
>
> -/* Totals over entire compilation. */
> -
> -static int total_attempts, total_merges, total_extras, total_successes;
> -
> /* combine_instructions may try to replace the right hand side of the
> second instruction with the value of an associated REG_EQUAL note
> before throwing it at try_combine. That is problematic when there
> @@ -1456,10 +1452,10 @@ retry:
> undobuf.frees = 0;
> }
>
> - total_attempts += combine_attempts;
> - total_merges += combine_merges;
> - total_extras += combine_extras;
> - total_successes += combine_successes;
> + statistics_counter_event (cfun, "attempts", combine_attempts);
> + statistics_counter_event (cfun, "merges", combine_merges);
> + statistics_counter_event (cfun, "extras", combine_extras);
> + statistics_counter_event (cfun, "successes", combine_successes);
>
> nonzero_sign_valid = 0;
> rtl_hooks = general_rtl_hooks;
> @@ -14936,24 +14932,6 @@ unmentioned_reg_p (rtx equiv, rtx expr)
> return false;
> }
>
> -DEBUG_FUNCTION void
> -dump_combine_stats (FILE *file)
> -{
> - fprintf
> - (file,
> - ";; Combiner statistics: %d attempts, %d substitutions (%d requiring new space),\n;; %d successes.\n\n",
> - combine_attempts, combine_merges, combine_extras, combine_successes);
> -}
> -
> -void
> -dump_combine_total_stats (FILE *file)
> -{
> - fprintf
> - (file,
> - "\n;; Combiner totals: %d attempts, %d substitutions (%d requiring new space),\n;; %d successes.\n",
> - total_attempts, total_merges, total_extras, total_successes);
> -}
> -
> /* Make pseudo-to-pseudo copies after every hard-reg-to-pseudo-copy, because
> the reg-to-reg copy can usefully combine with later instructions, but we
> do not want to combine the hard reg into later instructions, for that
> diff --git a/gcc/dumpfile.cc b/gcc/dumpfile.cc
> index 51f68c8c6b4..a2050d13009 100644
> --- a/gcc/dumpfile.cc
> +++ b/gcc/dumpfile.cc
> @@ -2074,15 +2074,6 @@ dump_function (int phase, tree fn)
> }
> }
>
> -/* Print information from the combine pass on dump_file. */
> -
> -void
> -print_combine_total_stats (void)
> -{
> - if (dump_file)
> - dump_combine_total_stats (dump_file);
> -}
> -
> /* Enable RTL dump for all the RTL passes. */
>
> bool
> diff --git a/gcc/dumpfile.h b/gcc/dumpfile.h
> index 7d5eca899dc..c41940624ca 100644
> --- a/gcc/dumpfile.h
> +++ b/gcc/dumpfile.h
> @@ -647,14 +647,11 @@ class auto_dump_scope
> auto_dump_scope scope (NAME, USER_LOC)
>
> extern void dump_function (int phase, tree fn);
> -extern void print_combine_total_stats (void);
> extern bool enable_rtl_dump_file (void);
>
> /* In tree-dump.cc */
> extern void dump_node (const_tree, dump_flags_t, FILE *);
>
> -/* In combine.cc */
> -extern void dump_combine_total_stats (FILE *);
> /* In cfghooks.cc */
> extern void dump_bb (FILE *, basic_block, int, dump_flags_t);
>
> diff --git a/gcc/passes.cc b/gcc/passes.cc
> index d7b0ad271a1..6f894a41d22 100644
> --- a/gcc/passes.cc
> +++ b/gcc/passes.cc
> @@ -359,13 +359,6 @@ finish_optimization_passes (void)
> dumps->dump_finish (pass_profile_1->static_pass_number);
> }
>
> - if (optimize > 0)
> - {
> - dumps->dump_start (pass_combine_1->static_pass_number, NULL);
> - print_combine_total_stats ();
> - dumps->dump_finish (pass_combine_1->static_pass_number);
> - }
> -
> /* Do whatever is necessary to finish printing the graphs. */
> for (i = TDI_end; (dfi = dumps->get_dump_file_info (i)) != NULL; ++i)
> if (dfi->graph_dump_initialized)
> diff --git a/gcc/rtl.h b/gcc/rtl.h
> index 098dc4ccc1c..03b7d058295 100644
> --- a/gcc/rtl.h
> +++ b/gcc/rtl.h
> @@ -4216,8 +4216,6 @@ extern bool validate_subreg (machine_mode, machine_mode,
> /* In combine.cc */
> extern unsigned int extended_count (const_rtx, machine_mode, int);
> extern rtx remove_death (unsigned int, rtx_insn *);
> -extern void dump_combine_stats (FILE *);
> -extern void dump_combine_total_stats (FILE *);
> extern rtx make_compound_operation (rtx, enum rtx_code);
>
> /* In sched-rgn.cc. */
> --
> 2.31.1
>
prev parent reply other threads:[~2023-07-20 7:34 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-20 2:41 Andrew Pinski
2023-07-20 7:34 ` Richard Biener [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAFiYyc3RR_vsLBcijx8W0hc2XouQJjE67760UtHfQmZKsKJ1nw@mail.gmail.com \
--to=richard.guenther@gmail.com \
--cc=apinski@marvell.com \
--cc=gcc-patches@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).