Deprecated: please see new documentation site.


The following shows the basic and most frequently used compiler options available in the IBM XL Fortran, C and C++ compilers. Most of these options work for both Fortran and C/C++ compilers. Each option presented below comes with a short description. Detailed information about them can be found in the IBM documentation.

Control Options


 Specify an additional search path for includes files whose absolute path is not specified in the 
 code. This option needs to be specified once for each additional path if there are more than one.


 Specify a name for the output object or executable. The default is 'a.out'.


 Compile only. A .o object file will be generated for each source file but no executable will be


 Compile the code in 32-bit mode.


 Compile the code in 64 bit mode.

For Fortran only:


 Indicate the soucre program is in fixed form (f77).


 Indicate the source program is in free form (f90).

Debugging Options

Almost all the options in this section can slow execution, so you might want to restrict their use to debugging purpose only.


 Prepare the program for profiling.


 Prepare the program for profiling. This option produces more extensive statistics than -p.


 Generate debugging information for debugging tools.


 Check each reference to an array element, array section and character substring for correctness.


 Detect and determine run-time floating-point exceptions such as overflow and divided by zero.


 Verifies the consistency of procedure definitions and references at compile time and verifies 
 that actual arguments agree in type, shape and class with the corresponding dummy arguments at 
 link time.

Optimization Options


 'HOT' stands for 'High Order Transformation', which targets to improve the performance of loops
 and array languages. What this option may do include 1) scalar replacement; 2) interchange, fusion
 and unrolling of loops and; 3) reducing the generation of temporary arrays.


 Instruct the compiler to generate codes that have additional performance improvements on the 
 specified architecture.


 Specify the cache configuration for a specific excution machine.


 Instruct the compiler to tune instruction selection, scheduling and other implementation
 -dependent performance enhancement for a specific implementation of a hardwar architecture.


 Specify the optimization level (0,2,3,4 or 5).


 Ensure that the compiler does not change the semantics of the code when trying to optimize, 
 which is only an issue when -O3 or higher is specified.


 Inter-procedure analysis. You might want to consider this option when you code consists of 
 a great of separate files.


 Inline subroutines that are frequently called to reduce the overheading.

Other Options


 Parallel the code automatically. See the compiler documentation for details on how this works.


 Compile OpenMP codes. The compiler must be thread-safe when using this option.


Manuals and detailed information on XL compilers can be found at:

IBM compiler information center: [1]

LSU HPC website: [2]

Users may direct questions to

Powered by MediaWiki