Intel® C++ Compiler Classic Developer Guide and Reference

ID 767249
Date 3/31/2023
Public

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

Document Table of Contents

prof-use, Qprof-use

Enables the use of profiling information during optimization.

Syntax

Linux:

-prof-use[=keyword]

-no-prof-use

macOS:

-prof-use[=keyword]

-no-prof-use

Windows:

/Qprof-use[:keyword]

/Qprof-use-

Arguments

keyword

Specifies additional instructions. Possible values are:

weighted

Tells the profmerge utility to apply a weighting to the .dyn file values when creating the .dpi file to normalize the data counts when the training runs have differentexecution durations. This argument only has an effect when the compiler invokes the profmerge utility to create the .dpi file. This argument does not have an effect if the .dpi file was previously created without weighting.

[no]merge

Enables or disables automatic invocation of the profmerge utility. The default is merge. Note that you cannot specify both weighted and nomerge. If you try to specify both values, a warning will be displayed and nomerge takes precedence.

default

Enables the use of profiling information during optimization. The profmerge utility is invoked by default. This value is the same as specifying [Q]prof-use with no argument.

Default

-no-prof-use or /Qprof-use-

Profiling information is not used during optimization.

Description

This option enables the use of profiling information (including function splitting and function grouping) during optimization. It enables option /Qfnsplit (Windows*) and -fnsplit (Linux* and macOS) .

This option instructs the compiler to produce a profile-optimized executable and it merges available profiling output files into a pgopti.dpi file.

Note that there is no way to turn off function grouping if you enable it using this option.

To set the hotness threshold for function grouping and function ordering, use option [Q]prof-hotness-threshold.

IDE Equivalent

Visual Studio: General > Profile Guided Optimization

Eclipse: Optimization > Profile Guided Optimization

Xcode: None

Alternate Options

None