diff mbox

[wwwdocs] Document in changes.html -fcode-hoisting, -fipa-bit-cp, -fipa-vrp, -fsplit-loops, GCJ removal, x86 ISA additions, -fshrink-wrap-separate etc.

Message ID alpine.LSU.2.20.1702192301060.2410@anthias.pfeifer.com
State New
Headers show

Commit Message

Gerald Pfeifer Feb. 19, 2017, 10:05 p.m. UTC
That was quite a bit; thanks for doing that, Jakub!

In the patch below I try to streamline language a bit, document options 
being implied by -Os (in addition to -O2 or higher), fix grammar in a few 
places, and change a textual link to being a real one.

I have _not_ applied this yet, and would appreciate your feedback.

Gerald
diff mbox

Patch

Index: changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-7/changes.html,v
retrieving revision 1.65
diff -u -r1.65 changes.html
--- changes.html	19 Feb 2017 21:55:56 -0000	1.65
+++ changes.html	19 Feb 2017 22:00:59 -0000
@@ -50,41 +50,44 @@ 
     <code>-fprintf-return-value</code> option.</li>
   <li>A new store merging pass has been added.  It merges constant stores to
   adjacent memory locations into fewer, wider, stores.
-  It can be enabled by using the <code>-fstore-merging</code> option and is
+  It is enabled by the <code>-fstore-merging</code> option and is
   enabled by default at the <code>-O2</code> optimization
-  level or higher (including <code>-Os</code>).</li>
+  level or higher (and <code>-Os</code>).</li>
 
   <li>A new code hoisting optimization has been added to the partial
   redundancy elimination pass.  It attempts to move evaluation of
   expressions executed on all paths to the function exit as early as
   possible, which helps primarily for code size, but can be useful for
-  speed of generated code as well.  It can be enabled by using the
+  speed of generated code as well.  It is enabled by the
   <code>-fcode-hoisting</code> option and is enabled by default at
-  the <code>-O2</code> optimization level or higher.</li>
+  the <code>-O2</code> optimization level or higher (and
+  <code>-Os</code>).</li>
 
   <li>A new interprocedural bitwise constant propagation optimization
   has been added, which propagates knowledge about which bits of variables
   are known to be zero (including pointer alignment information) across
-  the call graph.  It can be enabled by using the <code>-fipa-bit-cp</code>
+  the call graph.  It is enabled by the <code>-fipa-bit-cp</code>
   option if <code>-fipa-cp</code> is enabled as well, and is enabled by
-  default at the <code>-O2</code> optimization level and higher.</li>
+  default at the <code>-O2</code> optimization level and higher (and
+  <code>-Os</code>).</li>
 
   <li>A new interprocedural value range propagation optimization has been
   added, which propagates integral ranges that variable values can be proven
-  to be within across the call graph.  It can be enabled by using the
+  to be within across the call graph.  It is enabled by the
   <code>-fipa-vrp</code> option and is enabled by default at the
-  <code>-O2</code> optimization level and higher.</li>
+  <code>-O2</code> optimization level and higher (and
+  <code>-Os</code>).</li>
 
   <li>A new loop splitting optimization pass has been added.  It splits
   certain loops if they contain a condition that is always true on one
   side of the iteration space and always false on the other into two
   loops where each of the new two loops iterates just on one of the sides
   of the iteration space and the condition does not need to be checked
-  inside of the loop.  It can be enabled by using the
+  inside of the loop.  It is enabled by the
   <code>-fsplit-loops</code> option and is enabled by default at the
   <code>-O3</code> optimization level or higher.</li>
 
-  <li>Shrink-wrapping optimization can now separate portions of
+  <li>The shrink-wrapping optimization can now separate portions of
   prologues and epilogues to improve performance if some of the
   work done traditionally by prologues and epilogues is not needed
   on certain paths.  This is controlled by the
@@ -138,7 +141,7 @@ 
   </li>
 
   <li>The <code>-fsanitize=signed-integer-overflow</code> suboption of the
-  UndefinedBehavior Sanitizer now diagnose arithmetic overflows even on
+  UndefinedBehavior Sanitizer now diagnoses arithmetic overflows even on
   arithmetic operations with generic vectors.</li>
 
   <li>Version 5 of the <a
@@ -525,8 +528,8 @@ 
 <li>New <code>__builtin_add_overflow_p</code>,
   <code>__builtin_sub_overflow_p</code>,
   <code>__builtin_mul_overflow_p</code> built-in functions have been added.
-  These work similarly to earlier added built-in functions without the
-  <code>_p</code> suffix, but don't actually store the result of the
+  These work similarly to their siblings without the
+  <code>_p</code> suffix, but do not actually store the result of the
   arithmetics anywhere, just return whether the operation would overflow.
   These builtins allow easy checking for overflows e.g. in C++
   <code>constexpr</code> contexts.</li>
@@ -566,7 +569,7 @@ 
   (suffixed <code>f<i>N</i></code> or <code>f<i>N</i>x</code>) for the
   new
   types: <code>__builtin_copysign</code>, <code>__builtin_fabs</code>, <code>__builtin_huge_val</code>, <code>__builtin_inf</code>, <code>__builtin_nan</code>, <code>__builtin_nans</code>.</p></li>
-  <li>Compilation with <code>-fopenmp</code> is now compatible with
+  <li>Compilation with <code>-fopenmp</code> is now compatible with the
   C11 <code>_Atomic</code> keyword.</li>
 </ul>
 
@@ -730,8 +733,8 @@ 
   </li>
   <li>Version 4.5 of the <a href="http://www.openmp.org/specifications/"
       >OpenMP specification</a> is now partially supported also in the
-      Fortran compilers, largest missing support in the Fortran frontend
-      is structure element mapping.</li>
+      Fortran compiler; the largest missing item is structure element
+      mapping.</li>
       
   <li>User-defined derived-type input/output (UDTIO) is added.</li>
   
@@ -752,11 +755,13 @@ 
 <!-- <h3 id="go">Go</h3> -->
 
 <h3 id="java">Java (GCJ)</h3>
+
 <p>The GCC Java frontend and associated libjava runtime library have been
 removed from GCC.</p>
 
 <!-- .................................................................. -->
 <h2 id="jit">libgccjit</h2>
+
 <p>The libgccjit API gained support for marking calls as requiring
 tail-call optimization via a new entrypoint:
 <a href="https://gcc.gnu.org/onlinedocs/jit/topics/expressions.html#gcc_jit_rvalue_set_bool_require_tail_call">gcc_jit_rvalue_set_bool_require_tail_call</a>.</p>
@@ -933,7 +938,8 @@ 
 <h3 id="nvptx">NVPTX</h3>
 <ul>
   <li>OpenMP target regions can now be offloaded to NVidia PTX GPGPUs.
-      See https://gcc.gnu.org/wiki/Offloading on how to configure it.</li>
+    See the <a href="https://gcc.gnu.org/wiki/Offloading">Wiki on how
+    to configure it</a>.</li>
 </ul>
 
 <h3 id="powerpc">PowerPC / PowerPC64 / RS6000</h3>