Other optimization options

The following options are available to control particular aspects of optimization. They are often enabled as a group or given default values when you enable a more general optimization option or level. For more information on these options, see the heading for each option in the XL C/C++ Compiler Reference.

Table 15. Selected compiler options for optimizing performance
Option Description
-qignerrno Allows the compiler to assume that errno is not modified by library function calls, so that such calls can be optimized. Also allows optimization of square root operations, by generating inline code rather than calling a library function. (For processors that support sqrt.)
-qsmallstack Instructs the compiler to compact stack storage. Doing so may increase heap usage.
-qinline Controls inlining of named functions. Can be used at compile time, link time, or both. When -qipa is used, -qinline is synonymous with -qipa=inline.
-qunroll Independently controls loop unrolling. Is implicitly activated under -O3.
-qinlglue Instructs the compiler to inline the "glue code" generated by the linker and used to make a call to an external function or a call made through a function pointer. 64-bit mode only.
-qtbtable Controls the generation of traceback table information. 64-bit mode only.
C++ -qnoeh Informs the compiler that no C++ exceptions will be thrown and that cleanup code can be omitted. If your program does not throw any C++ exceptions, use this option to compact your program by removing exception-handling code.
-qnounwind Informs the compiler that the stack will not be unwound while any routine in this compilation is active. This option can improve optimization of non-volatile register saves and restores. In C++, the -qnounwind option implies the -qnoeh option.