> 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?
Thanks, here is updated patch! Index: changes.html =================================================================== RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-5/changes.html,v retrieving revision 1.72 diff -u -r1.72 changes.html --- changes.html 25 Jan 2015 23:47:32 -0000 1.72 +++ changes.html 26 Jan 2015 06:10:15 -0000 @@ -35,6 +35,15 @@ <ul> <li>Inter-procedural optimization improvements: <ul> + <li>An Identical Code Folding (ICF) pass (controled via + <code>-fipa-icf</code>) has been added. Compared to the identical + code folding performed by the Gold linker this + pass does not require function sections. It also performs merging + before inlining so inter-procedural optimizations are aware of the + code re-use. On the other hand not all unifications performed + by a linker are doable by GCC which must honor + aliasing information. During link-time optimization of Firefox, + this pass unifies about 29000 functions that is 10% overall.</li> <li>The 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 @@ -72,6 +81,11 @@ </ul></li> <li>Feedback directed optimization improvements: <ul> + <li>A new auto-FDO mode uses profiles collected by low overhead + profiling tools (perf) instead of more expensive program + instrumentation (via <code>-fprofile-generate</code>). SPEC2006 + benchmarks on x86-64 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>