Re: [wwwdocs] Update gcc-8/changes.html for some IPA and x86 canges

2018-04-08 Thread Gerald Pfeifer
On Sun, 8 Apr 2018, Richard Biener wrote:
>> I struggled a bit parsing the item DWARF debug information
>> improvements.
>> Are you fine with the proposed change below?
> Sure! Go ahead.

Thanks!  

Before committing I read it again and simplified a bit. Below the 
final version.

Gerald
Index: changes.html
===
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-8/changes.html,v
retrieving revision 1.50
diff -u -r1.50 changes.html
--- changes.html1 Apr 2018 22:19:57 -   1.50
+++ changes.html8 Apr 2018 12:40:08 -
@@ -72,10 +72,10 @@
 
   Link-time optimization improvements:
   
-On ELF targets using DWARF debug information has been significantly
-improved in quality by properly preserving language-specific
-   debug information.  This allows for example the libstdc++
-   pretty-printers to work with LTO optimized executables.
+We have significantly improved debug information on ELF targets
+using DWARF by properly preserving language-specific information.
+This allows for example the libstdc++ pretty-printers to work with
+LTO optimized executables.
   
   
 A new option -fcf-protection=[full|branch|return|none] is


Re: [wwwdocs] Update gcc-8/changes.html for some IPA and x86 canges

2018-04-07 Thread Richard Biener
On April 7, 2018 11:11:05 PM GMT+02:00, Gerald Pfeifer  
wrote:
>On Tue, 20 Mar 2018, Richard Biener wrote:
>> I have committed the following (will happily edit if necessary).
>
>Thanks, Richard!
>
>I struggled a bit parsing the item DWARF debug information
>improvements.
>Are you fine with the proposed change below?

Sure! Go ahead. 

Richard. 

>Gerald
>
>Index: changes.html
>===
>RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-8/changes.html,v
>retrieving revision 1.50
>diff -u -r1.50 changes.html
>--- changes.html   1 Apr 2018 22:19:57 -   1.50
>+++ changes.html   7 Apr 2018 21:09:53 -
>@@ -72,10 +72,11 @@
> 
>   Link-time optimization improvements:
>   
>-On ELF targets using DWARF debug information has been
>significantly
>-improved in quality by properly preserving language-specific
>-  debug information.  This allows for example the libstdc++
>-  pretty-printers to work with LTO optimized executables.
>+We have significantly improved debug information on ELF
>targets
>+using DWARF debug information by properly preserving
>+language-specific information.  This allows for example the
>+libstdc++ pretty-printers to work with LTO optimized
>+executables.
>   
>   
> A new option -fcf-protection=[full|branch|return|none] is



Re: [wwwdocs] Update gcc-8/changes.html for some IPA and x86 canges

2018-04-07 Thread Gerald Pfeifer
On Tue, 20 Mar 2018, Richard Biener wrote:
> I have committed the following (will happily edit if necessary).

Thanks, Richard!

I struggled a bit parsing the item DWARF debug information improvements.
Are you fine with the proposed change below?

Gerald

Index: changes.html
===
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-8/changes.html,v
retrieving revision 1.50
diff -u -r1.50 changes.html
--- changes.html1 Apr 2018 22:19:57 -   1.50
+++ changes.html7 Apr 2018 21:09:53 -
@@ -72,10 +72,11 @@
 
   Link-time optimization improvements:
   
-On ELF targets using DWARF debug information has been significantly
-improved in quality by properly preserving language-specific
-   debug information.  This allows for example the libstdc++
-   pretty-printers to work with LTO optimized executables.
+We have significantly improved debug information on ELF targets
+using DWARF debug information by properly preserving
+language-specific information.  This allows for example the
+libstdc++ pretty-printers to work with LTO optimized
+executables.
   
   
 A new option -fcf-protection=[full|branch|return|none] is


Re: [wwwdocs] Update gcc-8/changes.html for some IPA and x86 canges

2018-03-20 Thread Jan Hubicka
> On Mon, 19 Mar 2018, Jan Hubicka wrote:
> 
> > Hi,
> > this patch adds some documentation for what is new in IPA and x86.
> > For lto we should mention early-debug.  Richard, perhaps you can suggest
> > wording?
> 
> I have committed the following (will happily edit if necessary).

Great thanks a lot!
I wonder if Caveats section should mention that early-debug may not work with
your favorite DWARF consumer and that libunwind, lldb and others needs fixing
(perhaps mentioning gdb revision that works)

Honza


Re: [wwwdocs] Update gcc-8/changes.html for some IPA and x86 canges

2018-03-20 Thread Gerald Pfeifer
Here a minor update on top of the committed patch.

Applied.

Gerald

Index: gcc-8/changes.html
===
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-8/changes.html,v
retrieving revision 1.45
diff -u -r1.45 changes.html
--- gcc-8/changes.html  19 Mar 2018 23:53:35 -  1.45
+++ gcc-8/changes.html  20 Mar 2018 08:05:53 -
@@ -49,7 +49,7 @@
 The ipa-pure-const pass is extended to propagate the 
malloc attribute,
and the corresponding warning option 
Wsuggest-attribute=malloc emits a
diagnostic for a function, which can be annotated with 
malloc attribute.
-  
+  
   Profile driven optimization improvements:
   
 New infrastructure for representing profiles (both statically guessed
@@ -67,7 +67,7 @@
 -freorder-blocks-and-partition, a pass splitting function
bodies into hot and cold regions, is now enabled by default at 
-O2
and higher for x86 and x86-64.
-  
+  
   
 A new option -fcf-protection=[full|branch|return|none] is
 introduced to perform code instrumentation to increase program security by


Re: [wwwdocs] Update gcc-8/changes.html for some IPA and x86 canges

2018-03-20 Thread Richard Biener
On Mon, 19 Mar 2018, Jan Hubicka wrote:

> Hi,
> this patch adds some documentation for what is new in IPA and x86.
> For lto we should mention early-debug.  Richard, perhaps you can suggest
> wording?

I have committed the following (will happily edit if necessary).

Richard.

2018-03-20  Richard Biener  

* changes.html: Mention early LTO debug, -floop-nest-optimize
improvements,  -floop-unroll-and-jam,  -floop-interchange,
-fstack-clash-protection and adjust the -fno-strict-overflow
entry for the new -fwrapv-pointer.

Index: changes.html
===
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-8/changes.html,v
retrieving revision 1.45
diff -u -r1.45 changes.html
--- changes.html19 Mar 2018 23:53:35 -  1.45
+++ changes.html20 Mar 2018 08:17:45 -
@@ -68,6 +68,13 @@
bodies into hot and cold regions, is now enabled by default at 
-O2
and higher for x86 and x86-64.
   
+  Link-time optimization improvements:
+  
+On ELF targets using DWARF debug information has been significantly
+improved in quality by properly preserving language-specific
+   debug information.  This allows for example the libstdc++
+   pretty-printers to work with LTO optimized executables.
+  
   
 A new option -fcf-protection=[full|branch|return|none] is
 introduced to perform code instrumentation to increase program security by
@@ -77,6 +84,25 @@
 guide for further information about the option syntax and section "New 
Targets
 and Target Specific Improvements" for IA-32/x86-64 for more details.
   
+  
+The polyhedral-based loop nest optimization pass
+-floop-nest-optimize has been overhauled.  It's still
+considered experimental and may not result in any runtime improvements.
+  
+  
+Two new classical loop nest optimization passes have been added.
+-floop-unroll-and-jam performs outer loop unrolling
+and fusing of the inner loop copies.  -floop-interchange
+exchanges loops in a loop nest to improve data locality.  Both passes
+are enabled by default at -O3 and above.
+  
+  
+The new option -fstack-clash-protection causes the
+compiler to insert probes whenever stack space is allocated
+statically or dynamically to reliably detect stack overflows and
+thus mitigate the attack vector that relies on jumping over
+a stack guard page as provided by the operating system.
+  
 
 
 
@@ -139,8 +165,8 @@
   
 
 -fno-strict-overflow is now mapped to
- -fwrapv and signed integer overflow is now undefined by
- default at all optimization levels.  Using
+ -fwrapv -fwrapv-pointer and signed integer overflow
+ is now undefined by default at all optimization levels.  Using
  -fsanitize=signed-integer-overflow is now the preferred
  way to audit code, -Wstrict-overflow is deprecated.
 


Re: [wwwdocs] Update gcc-8/changes.html for some IPA and x86 canges

2018-03-19 Thread Gerald Pfeifer
Hi Honza,

thanks for putting this together.  Below you'll find a number of
simple suggestions.  This patch is fine if you make those changes;
no need to review again, though posting the final patch would be
good.


On Mon, 19 Mar 2018, Jan Hubicka wrote:
> +Reworked runtime estimation metrics leading to more realistic guesses
> + driving inliner and clonning heuristics.

"run-time" (since it's an adjective here)

"cloning"

> +The ipa-pure-const pass is extended to propagate malloc attribute, 
> and the

"the malloc attribute", i.e., add "the" and markup.

> + corresponding warning option Wsuggest-attribute=malloc 
> emits a
> + diagnostic for a function, which can be annotated with malloc 
> attribute.

"with the malloc"

> +New infrastructure for representing profile (both statically guessed
> + and profile feedback) which allows propagation of furhter information
> + about reliablility of the profile.

"representing profiles"?

"further" (typo)

"about the reliability"

> +Number of improvements in profile updating code solving problems
> + found by new verification code.

"A number of..."

"in the profile updating code"

"> +Static detection of code which is not executed in valid run of the

"in a valid run"

> + program. This includes paths which triggers undefined behaviour

"trigger" (plural)

And "behavior" (American English)

> + as well as call to functions declared with cold attribute.

"calls" (plural)

"declared with the" (add article)

> + Newly noreturn attribute does not imply all effects of
> + cold to make difference between exit (which
> + is noreturn/code> and abort (which is in addition
> + not executed in valid runs).

"The new...attribute", or did you mean "Newly the ...attribute"?

"to make a difference" or better "differentiate"?

And closing ")" in the description of exit.

> +  
> +Vectorization costs metrics has been reworked leading to significant 
> improvments
> +on some benchmarks

"cost metrics"

And "." at the very end.

Cheers,
Gerald