New and changed compiler options and directives are described in this section.
Compiler options can be specified on the command line or through directives embedded in your application source files. See the XL C/C++ Compiler Reference for detailed descriptions and usage information for these and other compiler options.
| Option/directive | Description |
|---|---|
| -qarch | A new suboption has been added to -qarch, specifying -qarch=pwr7 produces object code that contains instructions that run on the POWER7 hardware platforms. |
| -qassert | -qassert is a new option for XL C/C++. It is used to provide information about the characteristics of the files that can help to fine-tune optimizations. |
| -qfunctrace | Traces the entry and exit points of functions in a compilation unit or only for a specific list of functions. |
| -qhot | A new suboption has been added for -qhot. The -qhot compiler option is a powerful alternative to hand tuning that provides opportunities to optimize loops and array language. The -qhot=fastmath option enables the replacement of math routines with available math routines from the XLOPT library only if -qstrict=nolibrary is enabled. -qhot=nofastmath disables the replacement of math routines by the XLOPT library. -qhot=fastmath is enabled by default if -qhot is specified regardless of the hot level. |
| -qinline | Attempts to inline functions instead of generating calls to those functions, for improved performance. |
| -qipa | You can generate relinkable objects while preserving IPA information by specifying -r -qipa=relink. |
| -qlanglvl | New suboptions have been
added to -qlanglvl:
|
| -qlibmpi | Tunes code based on the known behavior of the Message Passing Interface (MPI) functions. |
| -qlistfmt | Generates a report in an XML 1.0 format containing information about some optimizations performed by the compiler and some missed optimization opportunities for inlining, loop transformations, data reorganization and profile-directed feedback. |
| -qpdf1,-qpdf2 | New options have been added to -qpdf1,-qpdf2. |
| -qprefetch | A new suboption has been added to -qprefetch. When you work with applications that generate a high cache-miss rate, you can use -qprefetch=assistthread to exploit assist threads for data prefetching. |
| -qrestrict (C only) | You can use -qrestrict to indicate to the compiler that no other pointer can access the same memory that has been addressed by function parameter pointers. |
| -qsaveopt | The existing -qsaveopt option is enhanced to also include the user's configuration file name and the options specified in the configuration files. |
| -qstackprotect | Protects your applications against malicious code or programming errors that overwrite or corrupt the stack. |
| -qstaticlink | Controls how shared and nonshared runtime libraries are linked into an application. |
| -qstrict | A new suboption has been added to the -qstrict option to allow more control over optimizations and transformations that violate strict program semantics. -qstrict=vectorprecision disables vectorization in loops where it might produce different results in vectorized iterations than in nonvectorized ones. |
| -qtune | A new suboption has been added to -qtune. If you specify -qtune=pwr7, optimizations are tuned for the POWER7 hardware platforms. |
| Option/directive | Description |
|---|---|
| -Q | This option is deprecated and replaced with -qinline. |
| -qenablevmx | This option is deprecated and replaced with the -qsimd=auto option. |
| -qhot=simd | nosimd | -qhot=simd | nosimd are deprecated and might be removed in a future release. You can use -qsimd. |
| -qinfo=private | -qinfo=private is deprecated and replaced with -qreport. |
| -qinfo=reduction | -qinfo=reduction is deprecated and replaced with -qreport. |
| -qipa=inline | noinline | -qipa=inline | noinline are deprecated and might be removed in a future release. You can use -qinline. |
| -qipa=clonearch | noclonearch | -qipa=clonearch | noclonearch is no longer supported. You can use -qtune=balanced. |
| -qipa=cloneproc | nocloneproc | -qipa=cloneproc | nocloneproc is no longer supported. You can use -qtune=balanced. |