Using -ip witn
-Qoption
Specifiers
You can adjust the Intel® Fortran Compiler's optimization for a particular
application by experimenting with memory and interprocedural optimizations.
Enter the -Qoption option with the applicable
keywords to select particular inline expansions and loop optimizations.
The option must be entered with a -ip or -ipo specification, as follows:
-ip[-Qoption,tool,opts]
where tool
is Fortran (f)
and opts are -Qoption
specifiers (see below).
See
Passing Options
to Other Tools (-Qoption,tool,opts) for
details about -Qoption.
-Qoption Specifiers
If you specify -ip or -ipo
without any -Qoption qualification, the compiler
expands functions in line
propagates constant arguments
passes arguments in registers
monitors module-level static variables.
You can refine interprocedural optimizations by using the following
-Qoption
specifiers. To have an effect, the -Qoption option
must be entered with either -ip
or -ipo also specified, as in this example:
-ip -Qoption,f,ip_specifier
where ip_specifier is one of the -Qoption specifiers described in the table
that follows.
-Qoption Specifiers |
|
-ip_args_in_regs=FALSE |
Disables the passing of arguments in registers. By default, external
functions can pass arguments in registers when called locally. Normally,
only static functions can pass arguments in registers, provided the address
of the function is not taken and the function does not use a variable
number of arguments. |
|
-ip_ninl_max_stats=n |
Sets the valid number of intermediate language statements for a function
that is expanded in line. The number n is a positive integer. The number
of intermediate language statements usually exceeds the actual number
of source language statements. The default is set to the maximum number
of 200. |
|
-ip_ninl_min_stats=n |
Sets the valid min number of intermediate language statements for a
function that is expanded in line. The number n is a positive integer. The
default value for ip_ninl_min_stats is:
IA-32 compiler: ip_ninl_min_stats = 7
Itanium(TM) compiler:
ip_ninl_min_stats
= 15 |
|
-ip_ninl_max_total_stats=n |
Sets the maximum increase in the total_stats.
The number of intermediate language statements for each function that
is expanded in line. The number n is a positive integer. By default, each
function can increase to a maximum of 5000 statements. |
|
-ip_no_external_ref |
Indicates that the source file contains the main program and does not
contain functions that are referenced by external functions. If you do
not specify this option, the compiler retains an original copy of each
expanded in-line function. |
The following command activates procedural and interprocedural optimizations
on source.f and sets the maximum increase in the
number of intermediate language statements to five for each function:
prompt>ifc -ip -Qoptionf,-ip_ninl_max_stats=5 source.f