Re: [PATCH] Properly deprecate -fipa-cp-alignment

2017-02-25 Thread Gerald Pfeifer
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


Re: [PATCH] Properly deprecate -fipa-cp-alignment

2017-02-21 Thread Martin Jambor
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  

* 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



Re: [PATCH] Properly deprecate -fipa-cp-alignment

2017-02-17 Thread Jakub Jelinek
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


Re: [PATCH] Properly deprecate -fipa-cp-alignment

2017-02-17 Thread Martin Jambor
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  
> > 
> > * 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  

* 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



Re: [PATCH] Properly deprecate -fipa-cp-alignment

2017-02-09 Thread Jan Hubicka
> 
> 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


Re: [PATCH] Properly deprecate -fipa-cp-alignment

2017-02-08 Thread Joseph Myers
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
jos...@codesourcery.com


Re: [PATCH] Properly deprecate -fipa-cp-alignment

2017-02-08 Thread Richard Biener
On Wed, Feb 8, 2017 at 1:49 PM, Jakub Jelinek  wrote:
> On Wed, Feb 08, 2017 at 01:41:24PM +0100, Martin Jambor wrote:
>> 2017-02-08  Martin Jambor  
>>
>>   * 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


Re: [PATCH] Properly deprecate -fipa-cp-alignment

2017-02-08 Thread Jakub Jelinek
On Wed, Feb 08, 2017 at 01:41:24PM +0100, Martin Jambor wrote:
> 2017-02-08  Martin Jambor  
> 
>   * 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


[PATCH] Properly deprecate -fipa-cp-alignment

2017-02-08 Thread Martin Jambor
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  

* 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