diff mbox

[wwwdocs] IPA/LTO/FDO updates for gcc-5/changes.html

Message ID alpine.LSU.2.11.1502090008340.2504@tuna.site
State New
Headers show

Commit Message

Gerald Pfeifer Feb. 8, 2015, 11:12 p.m. UTC
On Wednesday 2014-09-24 17:25, Jan Hubicka wrote:
> this patch adds list of changes to IPA/LTO/FDO before I forget about 
> them ;)

Good work, lots of! :-)

In preparation of the GCC 5.0 release I did go through this (and
other changes) and made a number of editorial changes which you
can find below.

I went ahead and committed those.  If there are further ones, or
you'd like to see things differently, let me know.

Gerald
diff mbox

Patch

Index: changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-5/changes.html,v
retrieving revision 1.76
diff -u -r1.76 changes.html
--- changes.html	31 Jan 2015 15:48:16 -0000	1.76
+++ changes.html	8 Feb 2015 22:58:43 -0000
@@ -44,29 +44,29 @@ 
      <li>Virtual tables are now optimized. Local aliases are used to reduce
 	 dynamic linking time of C++ virtual tables on ELF targets and
 	 data alignment has been reduced to limit data segment bloat.</li>
-     <li>New <code>-fno-semantic-interposition</code> flag can be used
+     <li>A new <code>-fno-semantic-interposition</code> flag can be used
 	 to improve code quality of shared libraries where interposition of
 	 exported symbols is not allowed.</li>
      <li>Write-only variables are now detected and optimized out.</li>
      <li>With profile feedback the function inliner can now bypass
 	 <code>--param inline-insns-auto</code> and <code>--param
 	 inline-insns-single</code> limits for hot calls.</li>
-     <li>IPA reference pass was significantly sped up making it feasible
+     <li>The IPA reference pass was significantly sped up making it feasible
 	 to enable <code>-fipa-reference</code> with
 	 <code>-fprofile-generate</code>. This also solves a bottleneck
-	 seen when building Chromium with link time optimization.</li>
-     <li>Symbol table and call-graph API was reworked to C++ and
+	 seen when building Chromium with link-time optimization.</li>
+     <li>The symbol table and call-graph API was reworked to C++ and
 	 simplified.</li>
     </ul></li>
     <li>Link-time optimization improvements:
     <ul>
-      <li>New One Definition Rule based merging of C++ types implemented.
+      <li>One Definition Rule based merging of C++ types has been implemented.
 	  Type merging enables better devirtualization and alias analysis.
 	  Streaming extra information needed to merge types adds about 2-6% of
 	  memory size and object size increase. This can be controlled by
 	  <code>-flto-odr-type-merging</code>.</li>
-      <li>GCC bootstrap now use slim LTO object files.</li>
-      <li>Memory usage and link times was improved.  Tree merging was sped up,
+      <li>GCC bootstrap now uses slim LTO object files.</li>
+      <li>Memory usage and link times were improved.  Tree merging was sped up,
 	  memory usage of GIMPLE declarations and types was reduced, and,
 	  support for on-demand streaming of variable constructors was added.</li>
     </ul></li>
@@ -74,8 +74,9 @@ 
     <ul>
       <li>Profile precision was improved in presence of C++ inline and extern
 	  inline functions.</li>
-      <li>New <code>gcov-tool</code> to manipulate profiles.</li>
-      <li>Profile is now more tolerant to source file changes (this can be
+      <li>The new <code>gcov-tool</code> utility allows manipulating
+          profiles.</li>
+      <li>Profiles are now more tolerant to source file changes (this can be
 	  controlled by <code>--param profile-func-internal-id</code>).</li>
     </ul></li>
     <li>UndefinedBehaviorSanitizer gained a few new sanitization options:
@@ -155,10 +156,11 @@ 
     <li>Full support for <a href="https://www.cilkplus.org/">Cilk Plus</a>
 	has been added to the GCC compiler. Cilk Plus is an extension to
 	the C and C++ languages to support data and task parallelism.</li>
-    <li>New attribute <code>no_reorder</code> prevents reordering of selected symbols
-	against other such symbols or inline assembler.
-	This enables to link-time optimize Linux kernel without need to use
-	<code>-fno-toplevel-reorder</code> that disable several optimizations.</li>
+    <li>A new attribute <code>no_reorder</code> prevents reordering of
+        selected symbols against other such symbols or inline assembler.
+        This enables to link-time optimize the Linux kernel without having
+        to resort to <code>-fno-toplevel-reorder</code> that disables
+        several optimizations.</li>
     <li>New preprocessor constructs, <code>__has_include</code>
         and <code>__has_include_next</code>, to test the availability of headers
         have been added.<br/>
@@ -278,13 +280,13 @@ 
 void operator delete (void *, std::size_t) noexcept;
 void operator delete[] (void *, std::size_t) noexcept;</pre></blockquote>
   </li>
-  <li>New One Definition Rule violation warning (controlled by <code>-Wodr</code>)
+  <li>A new One Definition Rule violation warning (controlled by <code>-Wodr</code>)
       detects mismatches in type definitions and virtual table contents
       during link-time optimization.</li>
   <li>New warnings <code>-Wsuggest-final-types</code> and
-      <code>-Wsuggest-final-methods</code> helps developers
-      to annotate programs by <code>final</code> specifiers (or anonymous
-      namespaces) in the cases where code generation improves.
+      <code>-Wsuggest-final-methods</code> help developers
+      to annotate programs with  <code>final</code> specifiers (or anonymous
+      namespaces) to improve code generation.
       These warnings can be used at compile time, but they are more
       useful in combination with link-time optimization.</li>
 <li>G++ no longer supports