# prof-func-order, Qprof-func-order

Enables or disables function ordering if profiling information is enabled.

## Syntax

Linux: | -prof-func-order -no-prof-func-order

macOS: | None

Windows: | /Qprof-func-order /Qprof-func-order-

## Arguments

None

## Default

-no-prof-func-order or /Qprof-func-order- | Function ordering is disabled.

## Description

This option enables or disables function ordering if profiling information is enabled.

For this option to be effective, you must do the following:

- For instrumentation compilation, you must specify option [Q]prof-gen setting srcpos.

- For feedback compilation, you must specify [Q]prof-use. You must not use multi-file optimization by specifying options such as [Q]ipo or [Q]ipo-c.

If you enable profiling information by specifying option [Q]prof-use, option [Q]prof-func-groups is set and function grouping is enabled. However, if you explicitly enable the [Q]prof-func-order option, function ordering is performed instead of function grouping.

On Linux* systems, this option is only available for Linux linker 2.15.94.0.1, or later.

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

## IDE Equivalent

None

## Alternate Options

None

## Example

The following example shows how to use this option on a Windows system:

    icl /Qprof-gen:globdata file1.c file2.c /Fe instrumented.exe
        ./instrumented.exe
    icl /Qprof-use /Qprof-func-order file1.c file2.c /Fe feedback.exe

The following example shows how to use this option on a Linux system:

    icc -prof-gen:globdata file1.c file2.c -o instrumented
        ./instrumented.exe
    icc -prof-use -prof-func-order file1.c file2.c -o feedback

Parent topic: Profile Guided Optimization Options

## See Also

prof-hotness-threshold, Qprof-hotness-threshold compiler option
prof-gen, Qprof-gen compiler option
prof-use, Qprof-use compiler option
prof-data-order, Qprof-data-order compiler option
prof-func-groups compiler option