Intel® C++ Compiler 16.0 User and Reference Guide
The compiler option [Q]opt-report generates 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 OS X*)
Library tools: xilib (Windows*), xiar (Linux* and OS X*), xilibtool (OS X*)
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 |
---|---|
-opt-report[=n] (Linux* and OS X*) /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. |
-opt-report-file=filename (Linux* and OS X*) /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. |
-opt-report-phase[=list] (Linux* and OS X*) /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 -opt-report-phase=ipo (Linux* and OS X*) or /Qopt-report-phase:ipo (Windows) option. |
-opt-report-routine=substring (Linux* and OS X*) /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. |
-opt-report-filter=string (Linux* and OS X*) /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 -opt-report-routines=string1 and opt-report-filter=string2 are specified, it is treated as -opt-report-filter=string1;string2. |
-opt-report-help (Linux* and OS X*) /Qopt-report-help (Windows*) |
Displays the optimization phases available to use when using the [Q]opt-report-phase option. |
-opt-report-names (Linux* and OS X*) /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 OS X*) or /Qopt-report (Windows* OS). |