Developer Guide and Reference

Contents

Compiler Directed Inline Expansion of Functions

Without directions from the user, the compiler attempts to estimate what functions should be inlined to optimize application performance. See Inline Expansion of Functions 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.
Option
Effect
inline-level
(Linux*
and
macOS*
) or
Ob
(Windows*)
Specifies the level of inline function expansion.
Note that the option /Ob2 on Windows* is equivalent to -inline-level=2 on Linux*
and
macOS*
. Allowed values are 0, 1, and 2.
[Q]ip-no-inlining
Disables only inlining enabled by the
[Q]ip
,
[Q]ipo
, or
Ob2
options.
[Q]ip-no-pinlining
Disables partial inlining enabled by the
[Q]ip
or
[Q]ipo
options.
No other IPO optimizations are disabled.
fno-builtin
(Linux*
and
macOS*
) or
Oi-
(Windows)
Disables inlining for intrinsic functions. Disables the by-name recognition support of intrinsic functions and the resulting optimizations. Use this option if you redefine standard library routines with your own version and your version of the routine has the same name as the standard library routine.
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.
Many routines in the
libirc
,
libm
, or
svml
library are more highly optimized for Intel microprocessors than for non-Intel microprocessors.
setting
inline-debug-info
for the
debug
option
Indicates that the source position information for an inlined function should be retained, rather than replaced, by that of the call which is being inlined.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804