Hi.

I'm sending patch where I document changes I made during GCC 9
development. I would appreciate both language and factical comments
about the patch.

Martin

---
 htdocs/gcc-9/changes.html | 65 ++++++++++++++++++++++++++++++++++++---
 1 file changed, 61 insertions(+), 4 deletions(-)


diff --git a/htdocs/gcc-9/changes.html b/htdocs/gcc-9/changes.html
index 13243c2..9fec9e2 100644
--- a/htdocs/gcc-9/changes.html
+++ b/htdocs/gcc-9/changes.html
@@ -50,11 +50,64 @@ a work-in-progress.</p>
 <h2 id="general">General Improvements</h2>
 <ul>
   <li>
-    A new option -flive-patching=[inline-only-static|inline-clone] is 
+    A new option <code>-flive-patching=[inline-only-static|inline-clone]</code> is
     introduced to provide a safe compilation for live-patching. At the same
     time, provides multiple-level control on the enabled IPA optimizations.
     See the user guide for further information about the option for more
-    details. 
+    details.
+  </li>
+  <li>
+      A new option <code>--completion<\>code is added to provide more fine
+      option completion in a shell.  It is intended for Bash-completion project.
+  </li>
+  <li>
+      Alignment-related options <code>-falign-functions</code>,
+      <code>-falign-labels</code><code>, </code>-falign-loops
+      and <code>-falign-jumps</code> received support for a secondary
+      alignment (e.g. <code>-falign-loops=n:m:n2:m2</code>).
+  </li>
+  <li>
+      A new built-in <code>__builtin_expect_with_probability</code> has been added.
+  </li>
+  <li>
+      Switch expansion has been improved by using a different strategy
+      (jump table, bit test, decision tree) for a subset of switch cases.
+  </li>
+  <li>
+      A linear function expression defined as switch statement with cases
+      can be transformed by <code>-ftree-switch-conversion</code>.  For example:
+    <blockquote><pre class="blackbg">
+int
+foo (int how)
+{
+  switch (how) {
+    case 2: how = 205; break;
+    case 3: how = 305; break;
+    case 4: how = 405; break;
+    case 5: how = 505; break;
+    case 6: how = 605; break;
+  }
+  return how;
+}
+</pre></blockquote>
+      can be transformed into <code>100 * how + 5</code> (for values defined
+      in the switch statement).
+  </li>
+  <li>
+      The gcov tool received a new option <code>--use-hotness-colors</code>
+      (<code>-q</code>) that can provide perf-like coloring of hot functions.
+  </li>
+  <li>
+      The gcov tool has changed intermediate format to a new JSON format.
+  </li>
+  <li>
+      New pair of profiling options (<code>-fprofile-filter-files</code>
+      and <code>-fprofile-exclude-files</code>) has been added.
+      The options help to filter which source files are instrumented.
+  </li>
+  <li>
+      AddressSanitizer generates more compact red-zones for automatic variables.
+      That helps to reduce memory footprint of a sanitized binary.
   </li>
 </ul>
 
@@ -137,7 +190,7 @@ a work-in-progress.</p>
 <h3 id="d">D</h3>
 <ul>
   <li>Support for the D programming language has been added to GCC,
-    implementing version 2.076 of the language and run-time library.  
+    implementing version 2.076 of the language and run-time library.
   </li>
 </ul>
 
@@ -294,7 +347,11 @@ a work-in-progress.</p>
 
 <!-- <h3 id="hsa">Heterogeneous Systems Architecture</h3> -->
 
-<!-- <h3 id="x86">IA-32/x86-64</h3> -->
+<h3 id="x86">IA-32/x86-64</h3>
+<ul>
+  <li>Support of Intel MPX (Memory Protection Extensions) has been removed.</li>
+</ul>
+
 
 <!-- <h3 id="mips">MIPS</h3> -->
 

Reply via email to