Message ID | 20150121215831.GB932@kam.mff.cuni.cz |
---|---|
State | New |
Headers | show |
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,
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> >
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
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>