ipo, Qipo
Enables interprocedural optimization
between files.
Syntax
Linux:
-ipo
[
n
]
-no-ipo
Windows:
/Qipo
[
n
]
/Qipo-
Arguments
- n
- Is an optional integer that specifies the number of object files the compiler should create. The integer must be greater than or equal to 0.
Default
- -no-ipoor/Qipo-
- Multifile interprocedural optimization is not enabled.
Description
This option enables interprocedural optimization between
files. This is also called multifile interprocedural optimization (multifile
IPO) or Whole Program Optimization (WPO).
When you specify this option, the compiler performs
inline function expansion for calls to functions defined in separate files.
You cannot specify the names for the files that are
created.
If
n
is 0, the compiler
decides whether to create one or more object files based on an estimate of the
size of the application. It generates one object file for small applications,
and two or more object files for large applications.
If
n
is greater than 0,
the compiler generates
n
object files,
unless
n
exceeds the number
of source files (m
),
in which case the compiler generates only
m
object files.
If you do not specify
n
, the default is 0.
When you specify option
[Q]ipo
with option
[q or Q]opt-report
, IPO information is generated in the
compiler optimization report at link time. After linking, you will see a report
named ipo_out.optrpt in the folder where you linked all of the object files.
IDE Equivalent
Visual Studio:
Optimization >
Interprocedural Optimization
Eclipse:
Optimization > Enable Whole Program
Optimization
Alternate Options
None