Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Andy_D_Intel
Employee
742 Views

Cause for remark #11074: Inlining inhibited by limit max-size

Jump to solution

#11074: Inlining inhibited by limit max-size 
#11074: Inlining inhibited by limit max-total-size 
#11076: To get full report use -qopt-report=4 -qopt-report-phase ipo

 

I recently started getting these remarks when building a set of C++ files with the Intel compiler. I would like to know more about what it's trying to communicate, but haven't found much online. It's even omitted from the diag-dump list.

 

Does anyone have more information on it? I'd like to be able to 'fix' the root cause and remove it from my list of diag-disable warnings.

 

Thanks!

 

0 Kudos
1 Solution
Kittur_G_Intel
Employee
742 Views

Hi Andy,
The compiler by default uses the default heuristics when inlining functions especially when considering the size of the functions (small or large etc). and by default the switch is -no-inline-min-size and -no-inline-max-size for small and large function limits.  So, if the options are set when compiling (such as -inline-min-size=n, -inline-max-size etc) the compiler will stick to those specified limits and will outputs those remarks accordingly. So, you can control the limits based on your application. Of course, the inliner has a preference to inline small routines and are very likely to be inlined by default if no limits are specified based on heuristics. You can search for those options in the user documentation and can more details as well. BTW, you can turn off those remarks by using the switch -diag-disable=list. The optimization report will show you the inlining limits used accordingly.  Note that if you specify a large limit the compiler may run of memory and may output out of memory remark as well.

_Kittur

 

View solution in original post

1 Reply
Kittur_G_Intel
Employee
743 Views

Hi Andy,
The compiler by default uses the default heuristics when inlining functions especially when considering the size of the functions (small or large etc). and by default the switch is -no-inline-min-size and -no-inline-max-size for small and large function limits.  So, if the options are set when compiling (such as -inline-min-size=n, -inline-max-size etc) the compiler will stick to those specified limits and will outputs those remarks accordingly. So, you can control the limits based on your application. Of course, the inliner has a preference to inline small routines and are very likely to be inlined by default if no limits are specified based on heuristics. You can search for those options in the user documentation and can more details as well. BTW, you can turn off those remarks by using the switch -diag-disable=list. The optimization report will show you the inlining limits used accordingly.  Note that if you specify a large limit the compiler may run of memory and may output out of memory remark as well.

_Kittur

 

View solution in original post

Reply