On 2/14/19 10:19 PM, Martin Sebor wrote:
> On 2/13/19 6:48 AM, Martin Liška wrote:
>> 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.
>
> Nothing technical, just a few very minor language nits/suggestions.
>
> Martin
>
> 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
>
> s/is/has been/ would be better (and either a comma after option or
> a definite article without the comma).
>
> 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.
>
> It seems we should choose between "for further information" and "for
> more details" but we don't need both.
>
> + </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.
>
> Missing article: for "a Bash-completion project" (or perhaps "to be
> used by Bash completion." not sure exactly what project it refers to).
>
> + </li>
> + <li>
> + Alignment-related options <code>-falign-functions</code>,
>
> Since you're naming them use a definite article: "The alignment-related
> options..."
>
> + <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.
>
> I'm really nit-picking now but again, since you are referring to
> a specific option a definite article would be more appropriate.
> Alternatively: "A new built-in function,
> <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
>
> Maybe a missing article? "defined as a switch statement with cases"
> (if that's what you meant.)
>
> + 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.
>
> Missing article: "has changed an (or "its?") intermediate format..."
> depending on how many intermediate formats it has.
>
> + </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> -->
>
>
Hi.
Thank you Martin for language correction, I'm sending updated version.
Martin
diff --git a/htdocs/gcc-9/changes.html b/htdocs/gcc-9/changes.html
index 13243c2..4d30ed4 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>, has been
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.
+ See the user guide for more details about the option.
+ </li>
+ <li>
+ A new option, <code>--completion</code>, has been added to provide more fine
+ option completion in a shell. It is intended to be used by Bash-completion.
+ </li>
+ <li>
+ The 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 function, <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 ia 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 its 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> -->