This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [WWWDOCS] Document IPA/LTO/FDO/i386 changes in GCC-4.9
- From: Gerald Pfeifer <gerald at pfeifer dot com>
- To: Jan Hubicka <hubicka at ucw dot cz>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Sat, 23 Nov 2013 02:30:24 +0100 (CET)
- Subject: Re: [WWWDOCS] Document IPA/LTO/FDO/i386 changes in GCC-4.9
- Authentication-results: sourceware.org; auth=none
- References: <20131118161757 dot GF11338 at kam dot mff dot cuni dot cz>
On Mon, 18 Nov 2013, Jan Hubicka wrote:
> there was many changes in this area. The following are ones I can think
> of. Please fell free to suggest more changes. We probably should mention
> Teresa's splitting work once it is complete and new micro-architectures
> targetd by x86 backend.
Yes, those definitely are good additional changes.
Thanks for taking the time to write these up (apart from the time to
actually hack much of it). :-)
> Index: changes.html
> ===================================================================
> + <li>Type merging was rewritten. New implementation is significantly faster
> + and use less memory.
"The new implementation"
"uses less memory"
> + <li>Better partitioning algorithm resulting in less streaming during
> + link-time.</li>
"link time"
> + <li>Early removal of virtual methods reduce size of object files and
> + improve link-time memory usage and compile time.</li>
"reduces the size of object files and improves"
> + <li>Functions are no longer pointlessly renamed.</li>
Readers may struggle a bit with this. What does it refer to?
> + <li>Function bodies are now loaded on-demand and released early improving
> + overall memory usage at link-time.</li>
"link time"
> + </ul>
> + Memory usage of Firefox build with debug enabled was reduced from 15GB to
> + 3.5GB. Link time from 1700 seconds to 350 seconds.
"Memory usage building Firefox"
Perhaps specify the version number?
If you want to write the second sentence without a verb, I suggest
"; link time..."
> + <li>New type inheritance analysis module improving devirtualization.
> + Devirtualization now take into account anonymous name-spaces and the
> + C++11 <code>final</code> keyword.</li>
"takes into account"
> + <li>Calls that was speculatively made direct are turned back to indirect
> + when doing so does not bring any noticeable benefits.</li>
"was" -> "were"
Also this sentence is a bit confusing. It can be read that turning back
the calls does not bring noticable benefits.
> + <li>Local aliases are introduced for symbols that are known to be
> + semantically equivalent across shared libraries improving dynamic
> + linking times.</li>
", improving"
> + <li>New time profiling determine typical order in which functions are executed.</li>
"determines", and can you break the long line?
> + <li>New function reordering pass (controlled by
> + <code>-freorder-functions</code>) significantly reduces
> + startup time of large applications. Until binutils support is
> + completed, it is effective only with link time optimization.</li>
"A new function reordering..."
"link-time optimization"
> + <li>Better inlining of <code>memcpy</code> and <code>memset</code>
> + that is avare of value ranges and produce shorter alignment prologues.
"aware"
"produces"
> + for portions of program optimized for size.</li>
"of programs"
Cheers,
Gerald