The /OPTIMIZE qualifier controls whether the compiler optimizes the
program to generate more efficient code for optimum run-time performance.
The format of the /OPTIMIZE qualifier is as follows:
/[NO]OPTIMIZE[=({LEVEL=n },...)]
{TUNE={GENERIC}}
{HOST }
where:
LEVEL=n controls the amount of optimization performed.
/OPTIMIZE=LEVEL=4 is the equivalent of /OPTIMIZE.
0 all optimizations are turned off. Has the same
effect as /NOOPTIMIZE.
1 local optimizations and common subexpression
recognition turned on.
2 adds some global optimizations including loop
unrolling, split lifetime analysis, code motion,
and code scheduling to those in level 1.
3 adds more global optimizations that improve speed
(at the cost of extra code size), such as integer
multiplication and division expansion (using
shifts), loop unrolling, and code replication to
eliminate branches to those in level 2.
4 adds automatic inline expansion of procedures and
functions to those of level 3. This is the default
level.
TUNE=processor selects processor-specific instruction tuning for a
specific implementation of the Itanium architecture.
Tuning for a specific implementation can provide
improvements in run-time performance.
Regardless of the setting of the TUNE option, the
generated code will run correctly on all implementations
of the Itanium architecture. Note that code tuned for a
specific target may run more slowly on another target
than generically-tuned code.
Also see the /ARCHITECTURE qualifier.
TUNE=GENERIC is the default.
The processor keyword can be one of the following:
GENERIC selects instruction tuning that is appropriate for
all implementations of the Itanium architecture.
This option is the default.
HOST selects instruction tuning that is appropriate for
the machine on which the code is being compiled.
ITANIUM2 selects instruction tuning for the Itanium2
implementation of the Itanium architecture.
MERCED selects instruction tuning for the Merced
implementation of the Itanium architecture.
The default is /OPTIMIZE=(LEVEL=4, TUNE=GENERIC).