The application must be built with certain compiler
flags in order for the tool to collect the required information.
- XLC compilers:
- The -g option is required to collect debug
information. This information is used to correlate profiling data
with source code lines. (Optionally -qlinedebug can
be used in place of -g in order to produce smaller
binaries.)
- For XLC version 12 compilers the -g8 option can optionally
be used instead of -g to produce better quality line debug information,
at the tradeoff of a small additional performance overhead.
- The -qlistfmt=xml=all option enables the
collection of compiler transformation reports. These reports are
used to determine the location of compiler optimizations such as inlining.
With this option enabled several XML report files will appear in
the project after building.
- GCC compilers:
- The -g option is required to collect debug
information. This information is used to correlate profiling data
with source code lines.
Compiler transformation reports are currently not supported for
GCC.
- IBM COBOL for AIX:
- The -g option or the TEST compiler directive is required to collect
debug information. This information is used to correlate profiling
data with source code lines.
Potential Issues with Transformation Reports
Performance
Advisor determines how your executables are compiled by looking for
XL compiler transformation reports and the build output from builds
launched from within the IDE.
If this information gets out
of sync, for example because a build was run manually on the remote
machine, or in a shell or terminal window, or because the -qlistfmt=xml=all option
was removed but the existing transformation reports were not, Performance
Advisor can give incorrect recommendations about compiler options.
If
you suspect this is the case:
- Clean your project (right click on the project and select Clean
Project)
- Remove any transformation reports in the project
- Rebuild your project (right click on the project and select Build
Project)