On Mon, 30 Dec 2019, Jan Hubicka wrote: > here are some of changes of LTO/IPA done in GCC10.
Quite a bit! :-) > +<p>The following GCC command line options have been introduced or > improved.</p> ...command-line... > + <li><a > href="https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Optimize-Options.html#index-fprofile-partial-training"><code>-fprofile-partial-training</code></a> I suggest to use the mainline version of the docs unless you believe there is going to be significant changes (removals) in the future? https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html > + can now be used to inform compiler that code paths not covered by the > + train run should not be optimized for size.</li> ...the compiler... (Is it "train run" or "training run"?) > +<p>A large number of improvements to code generation have been made, > including > + but not limited to the following.</p> Can you format for a smaller width here? Otherwise patches run a little wide. > + <li>Inter-procedural scalar replacement for aggregates (IPA-SRA) pass > was re-implemented to work at link-time. The inter-procedural... > + <li><a > href="https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Optimize-Options.html#index-finline-functions"><code>-finline-functions</code></a> > + is now enabled at <code>-O2</code> and was retuned for better code size > + versus runtime performance tradeofs. Inliner heuristics was also ...trade-offs... (dash plus double f) > + <li>Selected <code>--param</code> values can now be specified at > + translation unit granuality. This includes all parameters controlling > + inliner.</li> ...the inliner.... > + <li>Profile maintenance during compilation was improved and hot/cold How about "Profile maintenance during compilation and hot/cold code partitioning have been improved"? Okay with those changes. Thank you, Gerald