Re: [wwwdocs] Update gcc-8/changes.html for some IPA and x86 canges
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
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
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
> 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
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
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
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