Interprocedural Optimizations

See Interprocedural Optimizations (IPO) section for more information.

Option

Description

Default

-ip
 

Enables single-file interprocedural optimizations.
Enhances inline function expansion.

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
IA-32 only

Disables partial inlining. Requires -ip or -ipo.

OFF

-ipo
 

Enables interprocedural optimization across files. Compile all objects over entire program with multifile interprocedural optimizations.
Enhances multifile optimization; multifile inline function expansion, interprocedural constant and function characteristics propagation, monitoring module-level static variables; dead code elimination.

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

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

-nolib_inline

Disables inline expansion of intrinsic functions.

OFF

-wp_ipo
 

A whole program assertion flag for IPO enabling assumption that all user variables and functions are referenced only within user sources. The user must guarantee that this assumption is safe.

OFF