Visible to Intel only — GUID: GUID-AD4BD72C-E96B-4797-B361-5D8D26DFBD08
Visible to Intel only — GUID: GUID-AD4BD72C-E96B-4797-B361-5D8D26DFBD08
prof-gen, Qprof-gen
Produces an instrumented object file that can be used in profile guided optimization.
Linux: |
-prof-gen[=keyword[, keyword],...] -no-prof-gen |
macOS: |
-prof-gen[=keyword[, keyword],...] -no-prof-gen |
Windows: |
/Qprof-gen[:keyword[,keyword],...] /Qprof-gen- |
keyword |
Specifies details for the instrumented file. Possible values are:
|
-no-prof-gen or /Qprof-gen- |
Profile generation is disabled. |
This option produces an instrumented object file that can be used in profile guided optimization. It gets the execution count of each basic block.
You can specify more than one setting for [Q]prof-gen. For example, you can specify the following:
-prof-gen=srcpos -prof-gen=threadsafe (Linux* and macOS) -prof-gen=srcpos, threadsafe (this is equivalent to the above)
/Qprof-gen:srcpos /Qprof-gen:threadsafe (Windows*) /Qprof-gen:srcpos, threadsafe (this is equivalent to the above)
If you specify keyword srcpos or globdata, a static profile information file (.spi) is created. These settings may increase the time needed to do a parallel build using -prof-gen, because of contention writing the .spi file.
These options are used in phase 1 of the Profile Guided Optimizer (PGO) to instruct the compiler to produce instrumented code in your object files in preparation for instrumented execution.
When the [Q]prof-gen option is used to produce an instrumented binary file for profile generation, some optimizations are disabled. Those optimizations are not disabled for any subsequent profile-guided compilation with option [Q]prof-use that makes use of the generated profiles.
Visual Studio: General > Profile Guided Optimization
General > Code Coverage Build Options
Eclipse: Optimization > Profile Guided Optimization
Xcode: None
None