public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* GCC 10 LTO documentation
@ 2021-06-21 13:41 Chris S
  2021-06-22 13:02 ` Jonathan Wakely
  2021-06-23 10:04 ` Kewen.Lin
  0 siblings, 2 replies; 9+ messages in thread
From: Chris S @ 2021-06-21 13:41 UTC (permalink / raw)
  To: gcc-help

Are the capabilities and/or limitations of GCC10 LTO documented anywhere?
I understand it only at a high level but not with details, and am having
trouble finding any current information that describes it very clearly.
Some questions came up recently that I'd like to be able to answer, but it
boils down to this:

Is it possible to build static libraries that have LTO optimizations
applied to the object code they contain (that is, all the code in that
library is optimized together with LTO), but when built together into a
final binary, no additional LTO is performed?  We have several large,
static libraries that are mostly unrelated, and are looking for ways to
reduce a massive increase in build times after moving to g++10, where
almost 80% of the time is spent in LTO.  Having optimized individual
libraries but not a global optimized binary might be a reasonable
tradeoff.  Is this possible?

I don't have a good mental model of when "extra information" (GIMPLE) is
merely included in the code for later use, and when that GIMPLE information
is actually used to perform LTO optimizations.  (My suspicion is that it's
only when building the final binary.)  However, if we can build static
libraries that are already optimized within themselves, a  hint of what
command line options to use would also be very appreciated.

Thanks.
Chris

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-07-03 18:39 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-21 13:41 GCC 10 LTO documentation Chris S
2021-06-22 13:02 ` Jonathan Wakely
2021-06-22 15:05   ` Chris S
2021-06-22 15:14   ` Xi Ruoyao
2021-06-22 15:52     ` Jonathan Wakely
2021-06-22 16:08       ` Xi Ruoyao
2021-06-22 17:02         ` Jonathan Wakely
2021-06-23 10:04 ` Kewen.Lin
2021-07-03 18:39   ` Chris S

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).