Without directions from the user, the compiler attempts to estimate what functions should be inlined to optimize application performance. See Criteria for Inline Function Expansion for more information.
The following options are useful in situations where an application can benefit from user function inlining but does not need specific direction about inlining limits. Except where noted, these options are supported on IA-32, Intel® 64, and IA-64 architectures.
Linux* and Mac OS* |
Windows* |
Effect |
---|---|---|
-inline-level |
/Ob |
Specifies the level of inline function expansion. For more information, see the following topic:
|
-ip-no-inlining |
/Qip-no-inlining |
Instructs the compiler to inline functions only where an explicit or implicit inline keyword appears. For C++, all inlining is disabled when specifying this option. For more information, see the following topic:
|
-ip-no-pinlining |
/Qip-no-pinlining |
Disables partial inlining. For more information, see the following topic:
|
-fno-builtin |
/Qi- |
Disables inlining for intrinsic functions. Disables the by-name recognition support of intrinsic functions and the resulting optimizations. Use this if you redefine standard library routines with a new routine that has unique properties. Used for code that relies upon the setting of the errno variable. By default, the compiler automatically inlines (expands) a number of standard and math library functions at the point of the call to that function, which usually results in faster computation. For more information, see the following topic:
|
-inline-debug-info |
/Qinline-debug-info |
Keeps source information for inlined functions. The additional source code can be used by the Intel® Debugger track the user-defined call stack while using inlining. To use this option you must also specify an additional option to enable debugging:
For more information, see the following topic:
|