This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug lto/45810] 40% slowdown when using LTO for a single-file program
- From: "hubicka at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 23 Jan 2011 16:45:39 +0000
- Subject: [Bug lto/45810] 40% slowdown when using LTO for a single-file program
- Auto-submitted: auto-generated
- References: <bug-45810-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45810
--- Comment #13 from Jan Hubicka <hubicka at gcc dot gnu.org> 2011-01-23 16:45:23 UTC ---
OK, the slowdown comes away when both hookers_law and perida is inlined.
First needs -finline-limit=380 the second needs large-function-growth=10000000
(or large increase of inline limit to make perida to be considered as small
function and inlined before iztaccihuatl grows that much).
Without large-function-growth we fail at:
Considering perdida size 1056.
Called once from iztaccihuatl 6151 insns.
Not inlining: --param large-function-growth limit reached.
This is because inlining for functions called once first process read_input:
Considering read_input size 3099.
Called once from iztaccihuatl 3128 insns.
Inlined into iztaccihuatl which now has 6151 size for a net change of -76
size.
that makes it too large.
large-function-insns is 2700, large-function-growth is 100%, so iztaccihuatl
can't growth past 3128*2 insns.
We might increase large-function-growth (I will give it a try on our
benchmarks) or we might convince inlined to inline first perida rather than
read_input because perida is smaller...
Honza