Intel® oneAPI DPC++/C++ Compiler Developer Guide and Reference

ID 767253
Date 3/22/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of 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

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.

NOTE:

This option only applies to host compilation. When offloading is enabled, it does not impact device-specific compilation.

IDE Equivalent

None

Alternate Options

None

See Also