public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] Properly deprecate -fipa-cp-alignment
@ 2017-02-08 12:41 Martin Jambor
  2017-02-08 12:49 ` Jakub Jelinek
  0 siblings, 1 reply; 9+ messages in thread
From: Martin Jambor @ 2017-02-08 12:41 UTC (permalink / raw)
  To: GCC Patches; +Cc: Jakub Jelinek

Hi,

the patch below is my attempt at properly deprecating switch
-fipa-cp-alignment.  I have not found any clear example to follow but
hopefully I have not missed anything.  If so, please let me know.

So far I have only tested this with a normal build and "make info" but
I will give it a proper bootstrap before committing if ACKed.  OK for
trunk as it is?

Thanks,

Martin


2017-02-08  Martin Jambor  <mjambor@suse.cz>

	* common.opt (-finstrument-functions-exclude-file-list): Remove Var
	and Optimization, Document as deprecated and superseded by
	-fipa-bit-cp.
	* doc/invoke.texi (Option Summary): Remove -fipa-cp-alignment.
	(Optimize Options): Likewise.
	(-fipa-cp-alignment): Document as deprecated.
---
 gcc/common.opt      |  4 ++--
 gcc/doc/invoke.texi | 11 +++--------
 2 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/gcc/common.opt b/gcc/common.opt
index ad6baa3db68..661235ee4a9 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -1612,8 +1612,8 @@ Common Report Var(flag_ipa_cp_clone) Optimization
 Perform cloning to make Interprocedural constant propagation stronger.
 
 fipa-cp-alignment
-Common Report Var(flag_ipa_cp_alignment) Optimization
-Perform alignment discovery and propagation to make Interprocedural constant propagation stronger.
+Common Report
+This switch is deprecated.  Use -fipa-bit-cp instead.
 
 fipa-bit-cp
 Common Report Var(flag_ipa_bit_cp) Optimization
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 08d26a1d858..ba70b0f0cc7 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -371,7 +371,7 @@ Objective-C and Objective-C++ Dialects}.
 -fif-conversion2  -findirect-inlining @gol
 -finline-functions  -finline-functions-called-once  -finline-limit=@var{n} @gol
 -finline-small-functions  -fipa-cp  -fipa-cp-clone @gol
--fipa-cp-alignment  -fipa-bit-cp @gol
+-fipa-bit-cp @gol
 -fipa-pta  -fipa-profile  -fipa-pure-const  -fipa-reference  -fipa-icf @gol
 -fira-algorithm=@var{algorithm} @gol
 -fira-region=@var{region}  -fira-hoist-pressure @gol
@@ -7040,7 +7040,6 @@ also turns on the following optimization flags:
 -finline-small-functions @gol
 -findirect-inlining @gol
 -fipa-cp @gol
--fipa-cp-alignment @gol
 -fipa-bit-cp @gol
 -fipa-sra @gol
 -fipa-icf @gol
@@ -8052,12 +8051,8 @@ This flag is enabled by default at @option{-O3}.
 
 @item -fipa-cp-alignment
 @opindex -fipa-cp-alignment
-When enabled, this optimization propagates alignment of function
-parameters to support better vectorization and string operations.
-
-This flag is enabled by default at @option{-O2} and @option{-Os}.  It
-requires that @option{-fipa-cp} is enabled.
-@option{-fipa-cp-alignment} is obsolete, use @option{-fipa-bit-cp} instead.
+This option has been superseded by @option{-fipa-bit-cp} and is now
+deprecated.  Use @option{-fipa-bit-cp} instead.
 
 @item -fipa-bit-cp
 @opindex -fipa-bit-cp
-- 
2.11.0

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Properly deprecate -fipa-cp-alignment
  2017-02-08 12:41 [PATCH] Properly deprecate -fipa-cp-alignment Martin Jambor
@ 2017-02-08 12:49 ` Jakub Jelinek
  2017-02-08 13:13   ` Richard Biener
                     ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Jakub Jelinek @ 2017-02-08 12:49 UTC (permalink / raw)
  To: GCC Patches, Joseph S. Myers

On Wed, Feb 08, 2017 at 01:41:24PM +0100, Martin Jambor wrote:
> 2017-02-08  Martin Jambor  <mjambor@suse.cz>
> 
> 	* common.opt (-finstrument-functions-exclude-file-list): Remove Var
> 	and Optimization, Document as deprecated and superseded by
> 	-fipa-bit-cp.
> 	* doc/invoke.texi (Option Summary): Remove -fipa-cp-alignment.
> 	(Optimize Options): Likewise.
> 	(-fipa-cp-alignment): Document as deprecated.
> ---
>  gcc/common.opt      |  4 ++--
>  gcc/doc/invoke.texi | 11 +++--------
>  2 files changed, 5 insertions(+), 10 deletions(-)
> 
> diff --git a/gcc/common.opt b/gcc/common.opt
> index ad6baa3db68..661235ee4a9 100644
> --- a/gcc/common.opt
> +++ b/gcc/common.opt
> @@ -1612,8 +1612,8 @@ Common Report Var(flag_ipa_cp_clone) Optimization
>  Perform cloning to make Interprocedural constant propagation stronger.
>  
>  fipa-cp-alignment
> -Common Report Var(flag_ipa_cp_alignment) Optimization
> -Perform alignment discovery and propagation to make Interprocedural constant propagation stronger.
> +Common Report
> +This switch is deprecated.  Use -fipa-bit-cp instead.

I think this should be
Common Ignore
Does nothing. Preserved for backward compatibility.
instead, but Joseph is the option handling maintainer, so CCing him.

	Jakub

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Properly deprecate -fipa-cp-alignment
  2017-02-08 12:49 ` Jakub Jelinek
@ 2017-02-08 13:13   ` Richard Biener
  2017-02-09 12:53     ` Jan Hubicka
  2017-02-08 21:26   ` Joseph Myers
  2017-02-17  9:34   ` Martin Jambor
  2 siblings, 1 reply; 9+ messages in thread
From: Richard Biener @ 2017-02-08 13:13 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: GCC Patches, Joseph S. Myers

On Wed, Feb 8, 2017 at 1:49 PM, Jakub Jelinek <jakub@redhat.com> wrote:
> On Wed, Feb 08, 2017 at 01:41:24PM +0100, Martin Jambor wrote:
>> 2017-02-08  Martin Jambor  <mjambor@suse.cz>
>>
>>       * common.opt (-finstrument-functions-exclude-file-list): Remove Var
>>       and Optimization, Document as deprecated and superseded by
>>       -fipa-bit-cp.
>>       * doc/invoke.texi (Option Summary): Remove -fipa-cp-alignment.
>>       (Optimize Options): Likewise.
>>       (-fipa-cp-alignment): Document as deprecated.
>> ---
>>  gcc/common.opt      |  4 ++--
>>  gcc/doc/invoke.texi | 11 +++--------
>>  2 files changed, 5 insertions(+), 10 deletions(-)
>>
>> diff --git a/gcc/common.opt b/gcc/common.opt
>> index ad6baa3db68..661235ee4a9 100644
>> --- a/gcc/common.opt
>> +++ b/gcc/common.opt
>> @@ -1612,8 +1612,8 @@ Common Report Var(flag_ipa_cp_clone) Optimization
>>  Perform cloning to make Interprocedural constant propagation stronger.
>>
>>  fipa-cp-alignment
>> -Common Report Var(flag_ipa_cp_alignment) Optimization
>> -Perform alignment discovery and propagation to make Interprocedural constant propagation stronger.
>> +Common Report
>> +This switch is deprecated.  Use -fipa-bit-cp instead.
>
> I think this should be
> Common Ignore
> Does nothing. Preserved for backward compatibility.
> instead, but Joseph is the option handling maintainer, so CCing him.

Or make it an alias for -fipa-bit-cp.

Richard.

>         Jakub

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Properly deprecate -fipa-cp-alignment
  2017-02-08 12:49 ` Jakub Jelinek
  2017-02-08 13:13   ` Richard Biener
@ 2017-02-08 21:26   ` Joseph Myers
  2017-02-17  9:34   ` Martin Jambor
  2 siblings, 0 replies; 9+ messages in thread
From: Joseph Myers @ 2017-02-08 21:26 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: GCC Patches

On Wed, 8 Feb 2017, Jakub Jelinek wrote:

> >  fipa-cp-alignment
> > -Common Report Var(flag_ipa_cp_alignment) Optimization
> > -Perform alignment discovery and propagation to make Interprocedural constant propagation stronger.
> > +Common Report
> > +This switch is deprecated.  Use -fipa-bit-cp instead.
> 
> I think this should be
> Common Ignore
> Does nothing. Preserved for backward compatibility.

Indeed, for any non-semantic option being obsoleted.

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Properly deprecate -fipa-cp-alignment
  2017-02-08 13:13   ` Richard Biener
@ 2017-02-09 12:53     ` Jan Hubicka
  0 siblings, 0 replies; 9+ messages in thread
From: Jan Hubicka @ 2017-02-09 12:53 UTC (permalink / raw)
  To: Richard Biener; +Cc: Jakub Jelinek, GCC Patches, Joseph S. Myers

> 
> Or make it an alias for -fipa-bit-cp.

I double programs are going on -fno-ipa-alignment for longer term - it would be very fragile
because inlining and other transformations could do the same.
I would just ignore it and mention that it no longer has effect  in changes.html (in entry decsribing
-fipa-bit-cp).

Honza
> 
> Richard.
> 
> >         Jakub

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Properly deprecate -fipa-cp-alignment
  2017-02-08 12:49 ` Jakub Jelinek
  2017-02-08 13:13   ` Richard Biener
  2017-02-08 21:26   ` Joseph Myers
@ 2017-02-17  9:34   ` Martin Jambor
  2017-02-17  9:43     ` Jakub Jelinek
  2 siblings, 1 reply; 9+ messages in thread
From: Martin Jambor @ 2017-02-17  9:34 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: GCC Patches, Joseph S. Myers

Hi,

On Wed, Feb 08, 2017 at 01:49:17PM +0100, Jakub Jelinek wrote:
> On Wed, Feb 08, 2017 at 01:41:24PM +0100, Martin Jambor wrote:
> > 2017-02-08  Martin Jambor  <mjambor@suse.cz>
> > 
> > 	* common.opt (-finstrument-functions-exclude-file-list): Remove Var
> > 	and Optimization, Document as deprecated and superseded by
> > 	-fipa-bit-cp.
> > 	* doc/invoke.texi (Option Summary): Remove -fipa-cp-alignment.
> > 	(Optimize Options): Likewise.
> > 	(-fipa-cp-alignment): Document as deprecated.
> > ---
> >  gcc/common.opt      |  4 ++--
> >  gcc/doc/invoke.texi | 11 +++--------
> >  2 files changed, 5 insertions(+), 10 deletions(-)
> > 
> > diff --git a/gcc/common.opt b/gcc/common.opt
> > index ad6baa3db68..661235ee4a9 100644
> > --- a/gcc/common.opt
> > +++ b/gcc/common.opt
> > @@ -1612,8 +1612,8 @@ Common Report Var(flag_ipa_cp_clone) Optimization
> >  Perform cloning to make Interprocedural constant propagation stronger.
> >  
> >  fipa-cp-alignment
> > -Common Report Var(flag_ipa_cp_alignment) Optimization
> > -Perform alignment discovery and propagation to make Interprocedural constant propagation stronger.
> > +Common Report
> > +This switch is deprecated.  Use -fipa-bit-cp instead.
> 
> I think this should be
> Common Ignore
> Does nothing. Preserved for backward compatibility.
> instead, but Joseph is the option handling maintainer, so CCing him.
> 

Thanks for pointing me to the right direction, I have added a second
space after the dot and changed the patch to the one below.

It has passed bootstrap, testing and I have also tested with make
info.  OK for trunk?

Thanks,

Martin


2017-02-16  Martin Jambor  <mjambor@suse.cz>

	* common.opt (-fipa-cp-alignment): Mark as ignored and preserved
	for backward compatibility only.
	* doc/invoke.texi (Option Summary): Remove -fipa-cp-alignment.
	(Optimize Options): Likewise.
	(-fipa-cp-alignment): Document as deprecated.
---
 gcc/common.opt      |  4 ++--
 gcc/doc/invoke.texi | 11 +++--------
 2 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/gcc/common.opt b/gcc/common.opt
index ad6baa3db68..1f6aa8dd02a 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -1612,8 +1612,8 @@ Common Report Var(flag_ipa_cp_clone) Optimization
 Perform cloning to make Interprocedural constant propagation stronger.
 
 fipa-cp-alignment
-Common Report Var(flag_ipa_cp_alignment) Optimization
-Perform alignment discovery and propagation to make Interprocedural constant propagation stronger.
+Common Ignore
+Does nothing.  Preserved for backward compatibility.
 
 fipa-bit-cp
 Common Report Var(flag_ipa_bit_cp) Optimization
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 56ca53f490b..ad617c02c31 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -371,7 +371,7 @@ Objective-C and Objective-C++ Dialects}.
 -fif-conversion2  -findirect-inlining @gol
 -finline-functions  -finline-functions-called-once  -finline-limit=@var{n} @gol
 -finline-small-functions  -fipa-cp  -fipa-cp-clone @gol
--fipa-cp-alignment  -fipa-bit-cp @gol
+-fipa-bit-cp @gol
 -fipa-pta  -fipa-profile  -fipa-pure-const  -fipa-reference  -fipa-icf @gol
 -fira-algorithm=@var{algorithm} @gol
 -fira-region=@var{region}  -fira-hoist-pressure @gol
@@ -7054,7 +7054,6 @@ also turns on the following optimization flags:
 -finline-small-functions @gol
 -findirect-inlining @gol
 -fipa-cp @gol
--fipa-cp-alignment @gol
 -fipa-bit-cp @gol
 -fipa-sra @gol
 -fipa-icf @gol
@@ -8066,12 +8065,8 @@ This flag is enabled by default at @option{-O3}.
 
 @item -fipa-cp-alignment
 @opindex -fipa-cp-alignment
-When enabled, this optimization propagates alignment of function
-parameters to support better vectorization and string operations.
-
-This flag is enabled by default at @option{-O2} and @option{-Os}.  It
-requires that @option{-fipa-cp} is enabled.
-@option{-fipa-cp-alignment} is obsolete, use @option{-fipa-bit-cp} instead.
+This option has been superseded by @option{-fipa-bit-cp} and is now
+deprecated.  Use @option{-fipa-bit-cp} instead.
 
 @item -fipa-bit-cp
 @opindex -fipa-bit-cp
-- 
2.11.0

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Properly deprecate -fipa-cp-alignment
  2017-02-17  9:34   ` Martin Jambor
@ 2017-02-17  9:43     ` Jakub Jelinek
  2017-02-21 12:54       ` Martin Jambor
  0 siblings, 1 reply; 9+ messages in thread
From: Jakub Jelinek @ 2017-02-17  9:43 UTC (permalink / raw)
  To: GCC Patches, Joseph S. Myers

On Fri, Feb 17, 2017 at 10:31:16AM +0100, Martin Jambor wrote:
> @@ -8066,12 +8065,8 @@ This flag is enabled by default at @option{-O3}.
>  
>  @item -fipa-cp-alignment
>  @opindex -fipa-cp-alignment
> -When enabled, this optimization propagates alignment of function
> -parameters to support better vectorization and string operations.
> -
> -This flag is enabled by default at @option{-O2} and @option{-Os}.  It
> -requires that @option{-fipa-cp} is enabled.
> -@option{-fipa-cp-alignment} is obsolete, use @option{-fipa-bit-cp} instead.
> +This option has been superseded by @option{-fipa-bit-cp} and is now
> +deprecated.  Use @option{-fipa-bit-cp} instead.

I'd just remove the whole documentation about -fipa-cp-alignment, I think
that is what we do for other removed options.
Or at least say and is now ignored. rather than deprecated, to make it clear
how we handle it (not at all).
Ok with either of those changes.

	Jakub

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Properly deprecate -fipa-cp-alignment
  2017-02-17  9:43     ` Jakub Jelinek
@ 2017-02-21 12:54       ` Martin Jambor
  2017-02-25 17:17         ` Gerald Pfeifer
  0 siblings, 1 reply; 9+ messages in thread
From: Martin Jambor @ 2017-02-21 12:54 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: GCC Patches, Joseph S. Myers

Hi,

On Fri, Feb 17, 2017 at 10:34:21AM +0100, Jakub Jelinek wrote:
> On Fri, Feb 17, 2017 at 10:31:16AM +0100, Martin Jambor wrote:
> > @@ -8066,12 +8065,8 @@ This flag is enabled by default at @option{-O3}.
> >  
> >  @item -fipa-cp-alignment
> >  @opindex -fipa-cp-alignment
> > -When enabled, this optimization propagates alignment of function
> > -parameters to support better vectorization and string operations.
> > -
> > -This flag is enabled by default at @option{-O2} and @option{-Os}.  It
> > -requires that @option{-fipa-cp} is enabled.
> > -@option{-fipa-cp-alignment} is obsolete, use @option{-fipa-bit-cp} instead.
> > +This option has been superseded by @option{-fipa-bit-cp} and is now
> > +deprecated.  Use @option{-fipa-bit-cp} instead.
> 
> I'd just remove the whole documentation about -fipa-cp-alignment, I think
> that is what we do for other removed options.
> Or at least say and is now ignored. rather than deprecated, to make it clear
> how we handle it (not at all).
> Ok with either of those changes.
> 

I see, I suppose we should be consistent, I will commit the following,
which I have included in a bootstrap and test run on x86_64-linux.

Thanks,

Martin


2017-02-20  Martin Jambor  <mjambor@suse.cz>

	* common.opt (-fipa-cp-alignment): Mark as ignored and preserved
	for backward compatibility only.
	* doc/invoke.texi (Option Summary): Remove all references to
	-fipa-cp-alignment.

---
 gcc/common.opt      |  4 ++--
 gcc/doc/invoke.texi | 12 +-----------
 2 files changed, 3 insertions(+), 13 deletions(-)

diff --git a/gcc/common.opt b/gcc/common.opt
index 6defe713c0b..e5ae364abd9 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -1612,8 +1612,8 @@ Common Report Var(flag_ipa_cp_clone) Optimization
 Perform cloning to make Interprocedural constant propagation stronger.
 
 fipa-cp-alignment
-Common Report Var(flag_ipa_cp_alignment) Optimization
-Perform alignment discovery and propagation to make Interprocedural constant propagation stronger.
+Common Ignore
+Does nothing.  Preserved for backward compatibility.
 
 fipa-bit-cp
 Common Report Var(flag_ipa_bit_cp) Optimization
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 6e219dab4d3..8fae09d1a5e 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -372,7 +372,7 @@ Objective-C and Objective-C++ Dialects}.
 -fif-conversion2  -findirect-inlining @gol
 -finline-functions  -finline-functions-called-once  -finline-limit=@var{n} @gol
 -finline-small-functions  -fipa-cp  -fipa-cp-clone @gol
--fipa-cp-alignment  -fipa-bit-cp @gol
+-fipa-bit-cp @gol
 -fipa-pta  -fipa-profile  -fipa-pure-const  -fipa-reference  -fipa-icf @gol
 -fira-algorithm=@var{algorithm} @gol
 -fira-region=@var{region}  -fira-hoist-pressure @gol
@@ -7063,7 +7063,6 @@ also turns on the following optimization flags:
 -finline-small-functions @gol
 -findirect-inlining @gol
 -fipa-cp @gol
--fipa-cp-alignment @gol
 -fipa-bit-cp @gol
 -fipa-sra @gol
 -fipa-icf @gol
@@ -8073,15 +8072,6 @@ it may significantly increase code size
 (see @option{--param ipcp-unit-growth=@var{value}}).
 This flag is enabled by default at @option{-O3}.
 
-@item -fipa-cp-alignment
-@opindex -fipa-cp-alignment
-When enabled, this optimization propagates alignment of function
-parameters to support better vectorization and string operations.
-
-This flag is enabled by default at @option{-O2} and @option{-Os}.  It
-requires that @option{-fipa-cp} is enabled.
-@option{-fipa-cp-alignment} is obsolete, use @option{-fipa-bit-cp} instead.
-
 @item -fipa-bit-cp
 @opindex -fipa-bit-cp
 When enabled, perform ipa bitwise constant propagation. This flag is
-- 
2.11.0

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Properly deprecate -fipa-cp-alignment
  2017-02-21 12:54       ` Martin Jambor
@ 2017-02-25 17:17         ` Gerald Pfeifer
  0 siblings, 0 replies; 9+ messages in thread
From: Gerald Pfeifer @ 2017-02-25 17:17 UTC (permalink / raw)
  To: Martin Jambor; +Cc: Jakub Jelinek, GCC Patches, Joseph S. Myers

On Tue, 21 Feb 2017, Martin Jambor wrote:
> I see, I suppose we should be consistent, I will commit the following,
> which I have included in a bootstrap and test run on x86_64-linux.

Do you also plan to add a note to gcc-7/changes.html?  I think that
would make sense.

Gerald

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2017-02-25 17:13 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-08 12:41 [PATCH] Properly deprecate -fipa-cp-alignment Martin Jambor
2017-02-08 12:49 ` Jakub Jelinek
2017-02-08 13:13   ` Richard Biener
2017-02-09 12:53     ` Jan Hubicka
2017-02-08 21:26   ` Joseph Myers
2017-02-17  9:34   ` Martin Jambor
2017-02-17  9:43     ` Jakub Jelinek
2017-02-21 12:54       ` Martin Jambor
2017-02-25 17:17         ` Gerald Pfeifer

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).