This topic details the most commonly used options for profile-guided optimization.
The options listed below are used in the phases of the PGO. See Advanced PGO Options for options that extend PGO.
Windows* |
Linux* |
Effect |
---|---|---|
/Qprof-gen /Qprof-genx |
-prof-gen -prof-genx |
Instruments the program for profiling to get the execution count of each basic block. The option is used in phase 1 of PGO (generating instrumented code) to instruct the compiler to produce instrumented code in your object files in preparation for instrumented execution. Results in dynamic-information (.dyn) file. With the x qualifier, the option gathers extra source information, which enables using specific tools, like the proforder tool and the Code-coverage Tool. If performing a parallel make, using this option will not affect it. For more information, see the following topic:
|
/Qprof-use |
-prof-use |
Instruct the compiler to produce a profile-optimized executable and merges available dynamic-information (.dyn) files into a pgopti.dpi file. This option is used in used in phase 3 of PGO (generating a profile-optimized executable).
|
/Qprof-format-32 |
-prof-format-32 |
Using 32-bit Counters: This option has been deprecated in this release. The IntelŪ compiler, by default, produces profile data with 64-bit counters to handle large numbers of events in the .dyn and .dpi files.
|
/Qfnsplit- |
-fnsplit- |
Disables function splitting. Function splitting is enabled by -prof-use (Linux*) or /Qprof-use (Windows*) in phase 3 to improve code locality by splitting routines into different sections: (1) one section to contain the cold or very infrequently executed code, and (2) one section to contain the rest of the code (hot code). You may want to disable function splitting:
|