Additional features and enhancements assist with performance tuning and application optimization.
The use of the -qpdf option consists of two steps. First, compile your program with -qpdf1 and run it with a typical set of data to generate the profiling data. Second, compile your program again with -qpdf2 to optimize the program based on the profiling data.
In previous releases, if you modified the source file and compiled with the -qpdf2 option, the compilation would stop with an error. As of IBM XL C/C++ for Linux, V11.1, you can use profiling data after you modify your source files. To do this, compile your application using the stale profiling data at the second stage of the PDF process.
Three new suboptions are added to the -qpdf option. These new suboptions allow more fine-grained control over performance improvements and extend -qpdf to support multiple pass profiling, cache miss profiling, block counter profiling, call counter profiling, and extended value profiling.
For detailed information about these suboptions, see -qpdf1, -qpdf2 in the XL C/C++ Compiler Reference.
There are a number of enhancements to the listing reports to give you more information on how the compiler optimized your code. You can use this information to get further benefits from the compiler's optimization capabilities. For more details about these enhanced reports, see New diagnostic reports.
The entries in the following table describe new or changed compiler options and directives.
Information presented here is a brief overview. For detailed information about these and other performance-related compiler options, see Optimization and tuning options.
| -qinline=level=number | A new option is added to -qinline to provide guidance to the compiler about the relative value of inlining in relation to the default value of 5.number is a range of integer values between 0 and 10 that indicates the level of inlining you want to use. For details, see -qinline in the XL C/C++ Compiler Reference. |
| -qpdf | -qpdf provides suboptions to give you more control flexibility in controlling different PDF optimizations. For more information, see the -qpdf1, -qpdf2 section in the XL C/C++ Compiler Reference. |
| -qprefetch | A new enhancement is added to -qprefetch for inserting prefetch instructions automatically where there are opportunities to improve code performance: -qprefetch=assistthread. -qprefetch inserts prefetch instructions automatically where there are opportunities to improve code performance. For details, see -qprefetch in the XL C/C++ Compiler Reference. |
For additional information about performance tuning and program optimization, see Optimizing your applications.