[Bug lto/97637] Compiling with LTO causes a bigger binary

2023-02-13 Thread christer.solskogen at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97637

Christer Solskogen  changed:

   What|Removed |Added

 Resolution|--- |INVALID
 Status|WAITING |RESOLVED

[Bug lto/97637] Compiling with LTO causes a bigger binary

2020-10-30 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97637

--- Comment #5 from Jakub Jelinek  ---
Sometimes it may shrink the code a lot, it really depends on the code.  Just
that the question whether a particular transformation will make code faster or
not is the primary question to ask, unless compiling with -Os or unless a
particular code is e.g. through PGO determined to be cold.

[Bug lto/97637] Compiling with LTO causes a bigger binary

2020-10-30 Thread christer.solskogen at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97637

--- Comment #4 from Christer Solskogen  ---
Okay, so LTO together with O2/O3 or Ofast will not help code size that much. 
I was worried that something was wrong with how GCC was configured or the
command line parameters I was using since the binary increased in size.

[Bug lto/97637] Compiling with LTO causes a bigger binary

2020-10-30 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97637

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek  ---
Note, the main objectives of -O2 as well as -Ofast are code speed, code size is
only secondary (because making code much larger might make it also slower).
If you care primarily about code size, you should be using -Os.

[Bug lto/97637] Compiling with LTO causes a bigger binary

2020-10-30 Thread christer.solskogen at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97637

--- Comment #2 from Christer Solskogen  ---
You are correct. I've replaced Ofast with O2 (but it doesn't seem to matter
that much) - with the default inline-unit-growth the binary gets 5% bigger.

With inline-unit-growth=20 the binary gets 5%~ smaller. So that helped!

[Bug lto/97637] Compiling with LTO causes a bigger binary

2020-10-30 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97637

Richard Biener  changed:

   What|Removed |Added

 Ever confirmed|0   |1
 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2020-10-30

--- Comment #1 from Richard Biener  ---
You can try lowering the inliner budget via --param inline-unit-growth which
defaults to 40 (a 40% increase due to inlining).  Likely only LTO exposes
inlining opportunities and -O2 is not -Os. (just guessing you use -O2)

The absolute number is also uninteresting - what's the relative change?