Intel® C++ Compiler 16.0 User and Reference Guide

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 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.

Option

Effect

inline-level(Linux* and OS X*) 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 OS X*.

[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 OS X*) 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.

See Also