This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[wwwdocs] Update gcc-8/changes.html for some IPA and x86 canges
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: gcc-patches at gcc dot gnu dot org, gerald at pfeifer dot com
- Cc: rguenther at suse dot de
- Date: Mon, 19 Mar 2018 22:08:51 +0100
- Subject: [wwwdocs] Update gcc-8/changes.html for some IPA and x86 canges
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>