Interprocedural Optimizations (IPO) Report

The IPO report provides information on the functions that have been inlined. Some loops will not software pipeline (SWP) and others will not vectorize if function calls are embedded inside your loops. One way to get these loops to SWP or to vectorize is to inline the functions using IPO.

The IPO report can help to identify the problem loops.

Note

Software Pipelining is available only on Itanium®-based systems

You must enable Interprocedural Optimizations to generate the IPO report.

The following command examples demonstrate how to run the IPO reports.

Platform

Syntax Examples

Linux*

ifort -ipo -opt-report -opt-report-phase ipo a.f b.f

Windows*

ifort /Qipo /Qopt-report /Qopt-report-phaseipo a.f b.f

where -ipo (Linux) or /Qipo (Windows) tells the compiler to perform inline function expansion in multiple files, -opt-report (Linux) or /Qopt-report (Windows) invokes the report generator, and -opt-report-phase ipo (Linux) or /Qopt-report-phase ipo (Windows) indicates the phase (ipo) for which to generate the report.

You can specify an output file to capture the report results. IPO report results can be very extensive and technical; specifying a file to capture the results can help to reduce analysis time.

Note

Linux* only: The space between the option and the phase is optional.

See Optimizer Report Generation for more information about options you can use to generate reports.