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