[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [avr-gcc-list] avr-gcc making really bad inlining decisions.
From: |
Bill Westfield |
Subject: |
Re: [avr-gcc-list] avr-gcc making really bad inlining decisions. |
Date: |
Wed, 8 Apr 2015 17:15:01 -0700 |
Hmm. So I looked at the various command-line parameters other than
-fno-inline-small-functions.
>> max-inline-insns-singleSeveral ... This only affects functions declared
>> inline and methods implemented in a class declaration (C++). The default
>> value is 400.
>> max-inline-insns-autoWhen you use -finline-functions (included in -O3), a
>> lot of functions that would otherwise not be considered for inlining by the
>> compiler are investigated.
The first claims that it only applies to functions DECLARED inline.
The second implies that it only applies to functions considered by
-finline-functions. Is there another parameter that controls when gcc
will decide to inline functions ON ITS OWN?
I tried -finline-limit=20, which sets both (400 is probably too large
for a cpu with 32k of memory, even if there was a one:one mapping.)
This didn't change the size of the sample sketch at all :-(
Is there a way to get gcc to dump the settings of all the parameters
and option settings after it's done parsing the command line?
Thanks
Bill W
Re: [avr-gcc-list] avr-gcc making really bad inlining decisions., Bill Westfield, 2015/04/09