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?
Honza Index: changes.html =================================================================== RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-8/changes.html,v retrieving revision 1.41 diff -u -r1.41 changes.html --- changes.html 12 Mar 2018 17:26:20 -0000 1.41 +++ changes.html 19 Mar 2018 21:07:07 -0000 @@ -42,9 +42,32 @@ <!-- .................................................................. --> <h2 id="general">General Improvements</h2> <ul> - <li>The ipa-pure-const pass is extended to propagate malloc attribute, and the - corresponding warning option <code>Wsuggest-attribute=malloc</code> emits a - diagnostic for a function, which can be annotated with malloc attribute.</li> + <li>Inter-procedural optimization improvements: + <ul> + <li>Reworked runtime estimation metrics leading to more realistic guesses + driving inliner and clonning heuristics.</li> + <li>The ipa-pure-const pass is extended to propagate malloc attribute, and the + corresponding warning option <code>Wsuggest-attribute=malloc</code> emits a + diagnostic for a function, which can be annotated with malloc attribute.</li> + </ul> + <li>Profile driven optimization improvements: + <ul> + <li>New infrastructure for representing profile (both statically guessed + and profile feedback) which allows propagation of furhter information + about reliablility of the profile.</li> + <li>Number of improvements in profile updating code solving problems + found by new verification code.</li> + <li>Static detection of code which is not executed in valid run of the + program. This includes paths which triggers undefined behaviour + as well as call to functions declared with <code>cold</code> attribute. + Newly <code>noreturn</code> attribute does not imply all effects of + <code>cold</code> to make difference between <code>exit</code> (which + is <code>noreturn/code> and <code>abort</code> (which is in addition + not executed in valid runs).</li> + <li><code>-freorder-blocks-and-partition</code>, a pass splitting function + bodies into hot and cold regions, is now enabled by default at <code>-O2</code> + and higher for i386.</li> + </ul><li> <li> A new option <code>-fcf-protection=[full|branch|return|none]</code> is introduced to perform code instrumentation to increase program security by @@ -435,6 +458,11 @@ <ul> <li> The x86 port now supports the <code>naked</code> function attribute.</li> + <li> + Better tuning for <code>znver1</code> and Intel Core based CPUs.</li> + <li> + Vectorization costs metrics has been reworked leading to significant improvments + on some benchmarks</li> <li>GCC now supports the Intel CPU named Cannonlake through <code>-march=cannonlake</code>. The switch enables the AVX512VBMI, AVX512IFMA and SHA ISA extensions.</li>