Profile-Guided Optimization Report (Preview)

Intel® VTune™ Amplifier provides an option to generate a Profile-Guided Optimization (PGO) report for Intel® Compiler (Linux* only), Clang* compiler, and GCC* compiler. Using this information the compilers can provide a better performance optimization when compiling your code.


This is a PREVIEW FEATURE. A preview feature may or may not appear in a future production release. It is available for your use in the hopes that you will provide feedback on its usefulness and help determine its future. Data collected with a preview feature is not guaranteed to be backward compatible with future releases. Please send your feedback to or to

To generate a PGO report, use the utility located, by default, in the <install-dir>/bin64.

Generating a PGO Report

Use the following amplxe-pgo-report syntax to generate a report:

$ [options] -- app arg1 arg2...

where [options] are the following:



-r | --result <name>

Specify a result directory and PGO report name template. Default template is r@@@pgo.

-c | --compiler <compiler>

Specify a compiler for PGO output format. Supported values are the following:

  • icc for Intel® C/C++ and Intel Fortran compilers version 2018 beta and higher

  • clang for Clang* compiler version 3.8 and higher

  • clang-old for Clang* compiler versions 3.5-3.7

Default value is icc.

-h | --help

Show help.


$ -r r@@@pgo -c icc -- /home/sample/myapp

This command line generates a PGO report based on the hardware event-based sampling analysis for the Intel® C++ compiler (icc). When the report is generated, the VTune Amplifier provides a message specifying the output file name and location on your system, for example: PGO report file was created: /home/foo/r000pgo_icc.pgo.

Using the PGO Report with Your Compiler

Use the *.pgo file generated by the VTune Amplifier for the profile-guided optimization with your compiler by adding the following options during compilation:

  • -prof-use-sampling=<pgo-file> for the icc compiler

  • -fprofile-sample-use=<pgo-file> for the clang compiler

  • -fauto-profile=<pgo-file> for the gcc compiler

For more details on the PGO support from the compiler side, explore the compiler documentation:


  • Generating a PGO report for remote Linux applications is not supported.

  • Generating a PGO report is supported for the Launch Application mode. Profile System and Attach to Process modes are not supported.

For more complete information about compiler optimizations, see our Optimization Notice.
Select sticky button color: 
Orange (only for download buttons)