PGO API Support Overview

The Profile Information Generation Support (Profile IGS) lets you control the generation of profile information during the instrumented execution phase of profile-guided optimizations. Normally, profile information is generated by an instrumented application when it terminates by calling the standard exit() function.

To ensure that profile information is generated, the functions described in this section may be necessary or useful in the following situations:

A set of functions and an environment variable comprise the Profile IGS.

This section includes descriptions of the functions and environment variable that comprise Profile Information Generation Support. The functions are available by inserting #include <pgouser.h> at the top of any source file where the functions may be used.

The compiler sets a define for _PGO_INSTRUMENT when you compile with either -prof-gen (Linux*) or /Qprof-gen (Windows*) or -prof-genx (Linux) or /Qprof-genx (Windows).

The Profile IGS Functions

The Profile IGS functions are available to your application by inserting a header file at the top of any source file where the functions may be used.

Example

INCLUDE 'pgouser.h'

Note

The Profile IGS functions are written in the C language. Fortran applications must call C functions.

The rest of the topics in this section describe the Profile IGS functions.

Note

Without instrumentation, the Profile IGS functions cannot provide PGO API support.

The Profile IGS Environment Variable

The environment variable for Profile IGS is PROF_DUMP_INTERVAL. This environment variable may be used to initiate Interval Profile Dumping in an instrumented user application.  See the recommended usage of _PGOPTI_Set_Interval_Prof_Dump() for more information.