Program-directed feedback

IPA uses program-directed feedback (PDF) to organize the code and to focus optimization on the frequently-used portions of the code. This can result in significant performance gains. Using PDF is a two-step process, that first gathers training data, then optimizes code during compile time.

Training data is gathered by running an application that was built using the PDF suboptions. When the application is run it collects information about itself. This information is the training data. The application should be run in a normal manner with accurate and varied input in order to gather as much valid training data as possible.

The second IPA build uses the training data when optimizing. This training data gives IPA information on:

As of z/OS V1R12 XL C/C++ compiler, stale profiling data can be used in the second stage of the PDF process, if minor changes are made to the source file in the first PDF stage. As a result of this change to the behavior of the PDF process, it will be possible to run both stages of PDF under different compilation options. The compiler will issue a list of warnings but will not terminate. During the link step, the compiler will print a message identifying any functions that have been detected to change from the first stage of PDF process.