Developer Guide and Reference

Contents

qopt-report, Qopt-report

Enables the generation of a YAML file that includes optimization transformation information.

Syntax

Linux:
-qopt-report
[
=
arg
]
Windows:
/Qopt-report
[
=
arg
]
Arguments
arg
Determines the level of detail in the report. Possible values are:
0
Disables generation of an optimization report. This is the default when the option is not specified.
1 or min
Tells the compiler to create a report with minimum details.
2 or med
Tells the compiler to create a report with medium details. This is the default if you do not specify
arg
.
3 or max
Tells the compiler to create a report with maximum details.
Levels 1, 2, and 3 (min, med, and max) include all the information of the previous level, as well as potentially some additional information.
Default
OFF
No optimization report is generated.
Description
This option enables the generation of a YAML file that includes optimization transformation information.
The YAML-formatted file provides the optimization information for the source file being compiled. For example:
icx -fiopenmp -qopt-report foo.c
This command will generate a file called foo.opt.yaml containing the optimization report messages.
Use opt-viewer.py (from llvm/tools/opt-viewer) to create html files from the YAML file. For example:
opt-viewer.py foo.opt.yaml
You can use any web-browser to open the html file to see the opt-report messages displayed inline with the original. For example:
Firefox html/foo.c.html source code
For SYCL compilations, you can also use this option to detail the variables passed to the OpenCL kernel in the optimization report. For example:
icpx -fsycl -qopt-report foo.cpp ! command for the C++ compiler dpcpp -qopt-report foo.cpp ! command for the DPC++ compiler
The above command will generate a YAML-formatted optimization report that contains optimization remarks for the SYCL pass. These remarks will list the OpenCL kernel arguments generated by the compiler for the user-defined SYCL kernels in foo.cpp. The remarks will also provide additional information like name, type, and size for the OpenCL kernel arguments.
You can then use opt-viewer.py to create html files from the YAML file, and use any web-browser to open the html file to see the opt-report remarks
Note that the YAML file is used to drive the community llvm-opt-report tool.
IDE Equivalent
None
Alternate Options
None

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.