diff mbox

[wwwdocs] Mention ipa-ICF and auto-FDO

Message ID 20150121215831.GB932@kam.mff.cuni.cz
State New
Headers show

Commit Message

Jan Hubicka Jan. 21, 2015, 9:58 p.m. UTC
Hi,
these two rather noticeable features are not mentioned.

Honza

Comments

Bernhard Reutner-Fischer Jan. 22, 2015, 10:36 a.m. UTC | #1
On 21 January 2015 at 22:58, Jan Hubicka <hubicka@ucw.cz> wrote:
> Hi,
> these two rather noticeable features are not mentioned.
>
> Honza
>
> Index: changes.html
> ===================================================================
> RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-5/changes.html,v
> retrieving revision 1.69
> diff -u -r1.69 changes.html
> --- changes.html        20 Jan 2015 16:37:54 -0000      1.69
> +++ changes.html        21 Jan 2015 21:57:30 -0000
> @@ -35,7 +35,15 @@
>    <ul>
>      <li>Inter-procedural optimization improvements:
>      <ul>
> -     <li>The devirtualization pass was significantly improved by adding
> +     <li>New identical code folding pass (controled via <code>-fipa-icf</code>).

s/controled/controlled/g
thanks,
Kyrylo Tkachov Jan. 22, 2015, 10:40 a.m. UTC | #2
Hi Honza,

On 21/01/15 21:58, Jan Hubicka wrote:
> Hi,
> these two rather noticeable features are not mentioned.
>
> Honza
>
> Index: changes.html
> ===================================================================
> RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-5/changes.html,v
> retrieving revision 1.69
> diff -u -r1.69 changes.html
> --- changes.html	20 Jan 2015 16:37:54 -0000	1.69
> +++ changes.html	21 Jan 2015 21:57:30 -0000
> @@ -35,7 +35,15 @@
>     <ul>
>       <li>Inter-procedural optimization improvements:
>       <ul>
> -     <li>The devirtualization pass was significantly improved by adding
> +     <li>New identical code folding pass (controled via <code>-fipa-icf</code>).
> +	 Compared to the identical code folding performed by Gold linker this
> +	 pass does not require function sections.  It also performs merging
> +	 pre-inline so inter-procedural optimizations are aware of the
> +	 code re-use. On the other hand not all unifications performed
> +	 by linker are doable by GCC pass; the GCC pass must honnor
s/honnor/honor/

> +	 aliasing information. During link-time optimization of Firefox,
> +	 the pass unify about 29000 functions that is 10% overall</li>
I think it should be "unifies about 29000..."

> +     <li>Devirtualization pass was significantly improved by adding
>   	 better support for speculative devirtualization and dynamic type
>   	 detection. About 50% of virtual calls in Firefox are speculatively
>   	 devirtualized during link-time optimization.</li>
> @@ -72,6 +80,11 @@
>       </ul></li>
>       <li>Feedback directed optimization improvements:
>       <ul>
> +      <li>New auto-FDO mode that use profiles collected by low overhead
s/use/uses/

Cheers,
Kyrill

> +	  profiling tools (perf) instead of more expensive program
> +	  instrumentation (via <code>-fprofile-generate</code>). SPEC2006
> +	  benchmarks improve by 4.7% with auto-FDO and by 7.3% with
> +	  traditional feedback directed optimization.
>         <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>
>
Gerald Pfeifer Jan. 26, 2015, 12:24 a.m. UTC | #3
Hi Honza,

thanks for putting this together.  Please find some notes below.
Can you please take these plus the other bits of feedback you got
and post an updated patch for a quick final check?

On Wednesday 2015-01-21 22:58, Jan Hubicka wrote:
> Index: changes.html
> ===================================================================
> +     <li>New identical code folding pass (controled via <code>-fipa-icf</code>).

"An Identical Code Folding (ICF) pass...has been added."

> +	 Compared to the identical code folding performed by Gold linker this

"by the Gold linker"

> +	 pass does not require function sections.  It also performs merging
> +	 pre-inline so inter-procedural optimizations are aware of the

pre-inlining or before inlining?

> +	 code re-use. On the other hand not all unifications performed
> +	 by linker are doable by GCC pass; the GCC pass must honnor

"by a linker"

"doable by GCC which must honor" (no double n in honor)

> +	 aliasing information. During link-time optimization of Firefox,
> +	 the pass unify about 29000 functions that is 10% overall</li>

"this pass unifies"

"that is..." -> "or 10% overall." (with full stop)

> +     <li>Devirtualization pass was significantly improved by adding

"The Devirtualization pass..."

> +      <li>New auto-FDO mode that use profiles collected by low overhead
> +	  profiling tools (perf) instead of more expensive program

"A new auto-FDO mode uses ..."

> +	  instrumentation (via <code>-fprofile-generate</code>). SPEC2006
> +	  benchmarks improve by 4.7% with auto-FDO and by 7.3% with
> +	  traditional feedback directed optimization.

On which architecture?

Gerald
diff mbox

Patch

Index: changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-5/changes.html,v
retrieving revision 1.69
diff -u -r1.69 changes.html
--- changes.html	20 Jan 2015 16:37:54 -0000	1.69
+++ changes.html	21 Jan 2015 21:57:30 -0000
@@ -35,7 +35,15 @@ 
   <ul>
     <li>Inter-procedural optimization improvements:
     <ul>
-     <li>The devirtualization pass was significantly improved by adding
+     <li>New identical code folding pass (controled via <code>-fipa-icf</code>).
+	 Compared to the identical code folding performed by Gold linker this
+	 pass does not require function sections.  It also performs merging
+	 pre-inline so inter-procedural optimizations are aware of the
+	 code re-use. On the other hand not all unifications performed
+	 by linker are doable by GCC pass; the GCC pass must honnor
+	 aliasing information. During link-time optimization of Firefox,
+	 the pass unify about 29000 functions that is 10% overall</li>
+     <li>Devirtualization pass was significantly improved by adding
 	 better support for speculative devirtualization and dynamic type
 	 detection. About 50% of virtual calls in Firefox are speculatively
 	 devirtualized during link-time optimization.</li>
@@ -72,6 +80,11 @@ 
     </ul></li>
     <li>Feedback directed optimization improvements:
     <ul>
+      <li>New auto-FDO mode that use profiles collected by low overhead
+	  profiling tools (perf) instead of more expensive program
+	  instrumentation (via <code>-fprofile-generate</code>). SPEC2006
+	  benchmarks improve by 4.7% with auto-FDO and by 7.3% with
+	  traditional feedback directed optimization.
       <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>