# Profile Guided Optimization (PGO) Options

This section contains descriptions for compiler options that pertain to profile-guided optimization.

Parent topic: Compiler Option Details

- finstrument-functions, Qinstrument-functions
  Determines whether function entry and exit points are instrumented.
- fnsplit, Qfnsplit
  Enables function splitting.
- Gh
  Calls a function to aid custom user profiling.
- GH
  Calls a function to aid custom user profiling.
- p
  Compiles and links for function profiling with gprof(1).
- prof-data-order, Qprof-data-order
  Enables or disables data ordering if profiling information is enabled.
- prof-dir, Qprof-dir
  Specifies a directory for profiling information output files.
- prof-file, Qprof-file
  Specifies an alternate file name for the profiling summary files.
- prof-func-groups
  Enables or disables function grouping if profiling information is enabled.
- prof-func-order, Qprof-func-order
  Enables or disables function ordering if profiling information is enabled.
- prof-gen, Qprof-gen
  Produces an instrumented object file that can be used in profile guided optimization.
- prof-gen-sampling
  Tells the compiler to generate debug discriminators in debug output. This aids in developing more precise sampled profiling output. This option is deprecated and will be removed in a future release.
- prof-hotness-threshold, Qprof-hotness-threshold
  Lets you set the hotness threshold for function grouping and function ordering.
- prof-src-dir, Qprof-src-dir
  Determines whether directory information of the source file under compilation is considered when looking up profile data records.
- prof-src-root, Qprof-src-root
  Lets you use relative directory paths when looking up profile data and specifies a directory as the base.
- prof-src-root-cwd, Qprof-src-root-cwd
  Lets you use relative directory paths when looking up profile data and specifies the current working directory as the base.
- prof-use, Qprof-use
  Enables the use of profiling information during optimization.
- prof-use-sampling
  Lets you use data files produced by hardware profiling to produce an optimized executable. This option is deprecated and will be removed in a future release.
- prof-value-profiling, Qprof-value-profiling
  Controls which values are value profiled.
- Qcov-dir
  Specifies a directory for profiling information output files that can be used with the codecov or tselect tool.
- Qcov-file
  Specifies an alternate file name for the profiling summary files that can be used with the codecov or tselect tool.
- Qcov-gen
  Produces an instrumented object file that can be used with the codecov or tselect tool.