/Oi Compiler Option

Syntax: Default:
/Oi[+|-] /Oi-, /Oi+ when /O+ is set
/Oivalue /Oi0

Use /Oi to control inlining of user code.

By default, the compiler does not inline user code, unless you specify /O[+]. When you specify /O[+], /Oi[+] becomes the default.

You can specify the following types of inlining:

/Oi+ Inline all user functions that are qualified with the _Inline or inline keyword.
/Oi- Do not inline any user code.
/Oivalue Inline all user functions qualified with the _Inline or inline keyword or that are smaller than value in abstract code units.

The /Oi option only affects user code, and does not affect the inlining of intrinsic IBM C and C++ Compilers library functions. To disable the inlining of library functions, parenthesize the function call or use /Oc+. For example:

   (strcpy)(str1, str2);

This way, you can selectively disable inlining of IBM C and C++ Compilers functions.

Some library functions are implemented as built-in functions, meaning there is no code in the library. You cannot parenthesize calls to these functions.



Inlining


Summary of Compiler Options
Summary of Compiler Options to Enable Optimization