public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Segher Boessenkool <segher@kernel.crashing.org>
To: "Martin Liška" <mliska@suse.cz>
Cc: gcc-patches@gcc.gnu.org
Subject: Re: [PATCH] rs6000: Remove unnecessary option manipulation.
Date: Tue, 19 Oct 2021 09:11:13 -0500	[thread overview]
Message-ID: <20211019141113.GO614@gate.crashing.org> (raw)
In-Reply-To: <2f57b5b5-3894-29b4-0e20-725bf273b496@suse.cz>

Hi!

On Thu, Oct 14, 2021 at 09:49:30AM +0200, Martin Liška wrote:
> gcc/ChangeLog:
> 	* config/rs6000/rs6000.c (rs6000_override_options_after_change):
> 	Do not set flag_rename_registers, it's already default behavior.

It defaults to *off*?

frename-registers
Common Var(flag_rename_registers) Optimization EnabledBy(funroll-loops)
Perform a register renaming optimization pass.

> 	Use EnabledBy for unroll_only_small_loops.
> 	* config/rs6000/rs6000.opt: Use EnabledBy for
> 	unroll_only_small_loops.
> ---
>  gcc/config/rs6000/rs6000.c   | 7 +------
>  gcc/config/rs6000/rs6000.opt | 2 +-
>  2 files changed, 2 insertions(+), 7 deletions(-)
> 
> diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
> index acba4d9f26c..40146179e06 100644
> --- a/gcc/config/rs6000/rs6000.c
> +++ b/gcc/config/rs6000/rs6000.c
> @@ -3472,13 +3472,8 @@ rs6000_override_options_after_change (void)
>    /* Explicit -funroll-loops turns -munroll-only-small-loops off, and
>       turns -frename-registers on.  */
>    if ((OPTION_SET_P (flag_unroll_loops) && flag_unroll_loops)
> -       || (OPTION_SET_P (flag_unroll_all_loops)
> -	   && flag_unroll_all_loops))
> +       || (OPTION_SET_P (flag_unroll_all_loops && flag_unroll_all_loops)))

That doesn't do what the changelog said, and it is not obvious at all
that this is correct?  Maybe this works with the current implementation
of that macro (I assume you tested it works :-) ), but that is not
something you can depend on.  This expands to
  global_options_set.x_flag_unroll_all_loops && flag_unroll_all_loops
just like the previous code did, but that one was obvious, and this is
not.

>      {
> -      if (!OPTION_SET_P (unroll_only_small_loops))
> -	unroll_only_small_loops = 0;
> -      if (!OPTION_SET_P (flag_rename_registers))
> -	flag_rename_registers = 1;
>        if (!OPTION_SET_P (flag_cunroll_grow_size))
>  	flag_cunroll_grow_size = 1;
>      }
> diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt
> index 9d7878f144a..faeb7423ca7 100644
> --- a/gcc/config/rs6000/rs6000.opt
> +++ b/gcc/config/rs6000/rs6000.opt
> @@ -546,7 +546,7 @@ Target Undocumented Var(rs6000_optimize_swaps) Init(1) 
> Save
>  Analyze and remove doubleword swaps from VSX computations.
>  
>  munroll-only-small-loops
> -Target Undocumented Var(unroll_only_small_loops) Init(0) Save
> +Target Undocumented Var(unroll_only_small_loops) Init(0) Save 
> EnabledBy(funroll-loops)

Your patches cannot apply.  Please send them non-wordwrapped.

This isn't the endpoint of the changes here I hope?  The macro games
make everything less readable (so, harder to change) and more fragile.


Segher

      parent reply	other threads:[~2021-10-19 14:12 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-14  7:49 Martin Liška
2021-10-14 15:10 ` Bill Schmidt
2021-10-15 15:24   ` Martin Liška
2021-10-19  8:53     ` Martin Liška
2021-10-19 13:07       ` Bill Schmidt
2021-10-19 14:23     ` Segher Boessenkool
2021-10-19 14:43       ` Martin Liška
2021-11-04 10:08         ` Martin Liška
2021-11-04 11:38         ` Segher Boessenkool
2021-10-19 14:11 ` Segher Boessenkool [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=20211019141113.GO614@gate.crashing.org \
    --to=segher@kernel.crashing.org \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=mliska@suse.cz \
    /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).