• 19.1
  • 12/16/2019
  • Public Content
Contents

Requesting Compiler Reports with the xi* Tools

The compiler options
qopt-report
(Linux* and
macOS*
) and
[Q]opt-report
(Windows*) generate optimization reports with different levels of detail. Related compiler options, listed under Optimization Report Options, allow you to specify the phase, direct output to a file (instead of
stderr
), and request reports from all routines with names containing a specific string as part of their name.
The xi* tools are used with inter-procedural optimization (IPO) during the final stage of IPO compilation. You can request compiler reports to be generated during the final IPO compilation by using certain options. The supported xi* tools are:
  • Linker tools:
    xilink
    (Windows*) and
    xild
    (Linux* and
    macOS*
    )
  • Library tools:
    xilib
    (Windows*),
    xiar
    (Linux* and
    macOS*
    ),
    xilibtool
    (
    macOS*
    )
The following tables lists the compiler report options that can be used with the xi* tools during the final IPO compilation.
Optimization Report Option
Description
-qopt-report
[=
n
] (Linux* and
macOS*
)
/Qopt-report
[:
n
] (Windows*)
Enables optimization report generation with different levels of detail. Valid values for
n
are 0 through 5. By default, when you specify this option without passing a value the compiler will generate a report with a medium level of detail. Higher numbers give greater levels of detail.
-qopt-report-file
=
filename
(Linux* and
macOS*
)
/Qopt-report-file
:
filename
(Windows*)
Generates an optimization report and directs the report output to the specified
file
name. If you omit the path, the file is created in the current directory. To create the file in a different directory, specify the full path to the output file and its file name.
-qopt-report-phase
[=
list
] (Linux* and
macOS*
)
/Qopt-report-phase
[:
list
] (Windows*)
Specifies a comma separated
list
of optimization phases to use when generating reports. If you do not specify a phase the compiler defaults to all. You can request a list of all available phases by using the
[Q]opt-report-help
option.
To generate a report for the IPO phase, use the
-qopt-report-phase=
ipo
(Linux* and
macOS*
) or
/Qopt-report-phase:
ipo
(Windows) option.
-qopt-report-routine
=
substring
(Linux* and
macOS*
)
/Qopt-report-routine
:
substring
(Windows*)
Generates reports for all routines with names containing
substring
as part of their name. You can also specify a sequence of substrings separated by commas. If you do this, the compiler generates an optimization report for each of the routines whose name contains one or more of these substrings.
If
substring
is not specified, the compiler generates reports on all routines.
-qopt-report-filter
=
string
(Linux* and
macOS*
)
/Qopt-report-filter
:
string
(Windows*)
Tells the compiler to find the indicated parts of your application specified by
string
, and generate optimization reports for them.
If both
-qopt-report-routines=
string1
and
qopt-report-filter=
string2
are specified, it is treated as
-qopt-report-filter=
string1;string2
.
-qopt-report-help
(Linux* and
macOS*
)
/Qopt-report-help
(Windows*)
Displays the optimization phases available to use when using the
-qopt-report-phase
(Linux* and
macOS*
) or
[q or Q]opt-report-phase
(Windows*) or option.
-qopt-report-names
(Linux* and
macOS*
)
/Qopt-report-names
(Windows*)
Specifies whether mangled or unmangled names appear in the optimization report. If this option is not specified, unmangled names are used by default.
If you specify mangled, encoding (also known as decoration) is added to names in the optimization report. This is appropriate when you want to match annotations with the assembly listing. If you specify unmangled, no encoding (or decoration) is added to names in the optimization report. This is appropriate when you want to match annotations with the source listing. If you use this option, you do not have to specify option
-qopt-report
(Linux* OS and
macOS*
) or
/Qopt-report
(Windows* OS).

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804