This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: How to diagnose inlining failure?


Ian Lance Taylor wrote:
>> I get the following warning from the compiler:
>>
>> header.h:10: warning: inlining failed in call to âdouble hill(double,
>> double, double)â: call is unlikely and code size would grow
>>
>> I know that the "--param" option has many variables controlling inlining
>> but I don't know which ones to change. Can I get some kind of diagnostic
>> of the specific decision the compiler makes when not inlining?
> To my eyes, that is the diagnostic right there: "the call is unlikely
> and code size would grow."  What kind of diagnostic are you looking for?
I tried the following:

-finline-limit=100000 --param large-function-growth=100000 --param
inline-unit-growth=100000 ,

but the messages did not go away. I have organized my code in small
functions but I wish the compiler would flatten most of it to avoid
function call overhead (when it is reasonable). The function in question
is called in three places from a function that is called only from one
place, inside a function that is called in two main loops. I hoped the
compiler might be able to tell me something like "inlining function X
would result in code growth Y%, which is prohibited by parameter Z".

- Henrik


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]