Optimizer Report Generation

The Intel® Fortran Compiler provides options to generate and manage optimization reports.

Specifying Optimizations to Generate Reports

The compiler can generate reports for an optimizer you specify in the phase argument of the
phase option.

The option can be used multiple times on the same command line to generate reports for multiple optimizers.

Currently, the reports for the following optimizers are supported:

Optimizer Logical Name

Optimizer Full Name


Interprocedural Optimizer


High-level Language Optimizer


Intermediate Language Scalar Optimizer


Itanium®-based Compiler Code Generator


All optimizers

When one of the above logical names for optimizers are specified all reports from that optimizer will be generated. For example, -opt_report_phaseipo  and -opt_report_phaseecg generate reports from the interprocedural optimizer and the code generator.

Each of the optimizers can potentially have specific optimizations within them. Each of these optimizations are prefixed with the optimizer's logical name. For example:


Full Name


Interprocedural Optimizer, inline expansion of functions


Interprocedural Optimizer, copy propagation


High-level Language Optimizer, loop unrolling


High-level Language Optimizer, prefetching


Intermediate Language Scalar Optimizer, copy propagation


Itanium®-based Compiler Code Generator, software pipelining

The following command generates a report for the Itanium®-based Compiler Code Generator (ecg):

ifort -c -opt_report -opt_report_phase ecg myfile.f  


The entire name for a particular optimization within an optimizer need not be specified in full, just a few characters is sufficient.  All optimization reports that have a matching prefix with the specified optimizer are generated. For example, if -opt_report_phase ilo_co is specified, a report from both the constant propagation and the copy propagation are generated.

The Availability of Report Generation

The -opt_report_help option lists the logical names of optimizers and optimizations that are currently available for report generation.

For IA-32 systems, the reports can be generated for:

For Itanium-based systems, the reports can be generated for:

If hlo or ipo report is requested, but the controlling option (-O3 or -ip--ipo, respectively) is not on, the compiler generates an empty report.