Re: avr-gcc making really bad inlining decisions.

Bill Westfield <[email protected]>
Newsgroups gmane.comp.hardware.avr.gcc
Message-ID <CAPmNOeAbeRqVuVowKaRZXLCVCNoz0TYOBvCaDmix7D96_ZEHSw@mail.gmail.com>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.