Interprocedural Optimizations

Option

Description

-ip
 

Enables single-file interprocedural optimizations.
Enhances inline function expansion

-ip_no_inlining
 

Disables full or partial inlining that would result from the -ip interprocedural optimizations. Requires -ip or -ipo.

-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

-ipo_c
 

Optimizes across files and produces a multi-file object file. This option performs the same optimizations as -ipo, but stops prior to the final link stage, leaving an optimized object file.

-ipo_obj

Forces the generation of real object files. Requires -ipo.

-ipo_S
 

Optimizes across files and produces a multi-file assembly file. This option performs the same optimizations as -ipo, but stops prior to the final link stage, leaving an optimized assembly file.

-inline_debug_info

Preserve the source position of inlined code instead of assigning the call-site source position to inlined code.

-nolib_inline

Disables inline expansion of intrinsic functions.

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

IA-32 applications only

-ip_no_pinlining

Disables partial inlining. Requires -ip or -ipo.