See Interprocedural Optimizations (IPO) section for more information.
Option |
Description |
Default |
-ip |
Enables single-file interprocedural optimizations. |
OFF |
-ip_no_inlining |
Disables full or partial inlining that would result from the -ip interprocedural optimizations. Requires -ip or -ipo. |
OFF |
-ip_no_pinlining |
Disables partial inlining. Requires -ip or -ipo. |
OFF |
-ipo |
Enables interprocedural optimization across files. Compile all objects
over entire program with multifile interprocedural optimizations. |
OFF |
-ipo_c |
Optimizes across files and produces a multifile object file. This option performs the same optimizations as -ipo, but stops prior to the final link stage, leaving an optimized object file. |
OFF |
-ipo_obj |
Forces the generation of real object files. Requires |
OFF |
-ipo_S |
Optimizes across files and produces a multifile assembly file. This option performs the same optimizations as -ipo, but stops prior to the final link stage, leaving an optimized assembly file. |
OFF |
-inline_debug_info |
Preserve the source position of inlined code instead of assigning the call-site source position to inlined code. |
OFF |
-Ob{0|1|2} |
Controls the compiler's inline expansion. The amount of inline expansion performed varies as follows: -Ob0: disable inlining -Ob1: disables inlining unless -ip or -Ob2 is specified. Enables inlining of functions. -Ob2: Enables inlining of any function. However, the compiler decides which functions are inlined. This option enables interprocedural optimizations and has the same effect as specifying the -ip option. |
-Ob1 |
-nolib_inline |
Disables inline expansion of intrinsic functions. |
OFF |