Intel(R) FORTRAN & C++ Compiler 7.1 compiler options for Linux
---------------------------------------------

Preprocessing Options
-Aname[(values,...)] Associates a symbol name with the specified 
sequence of values . Equivalent to an #assert preprocessing 
directive. OFF by default.

-A- Causes all predefined macros and assertions to be inactive. 
OFF by default.

-C Preserves comments in preprocessed source output. OFF by 
default.

-Dname[(value)] Defines the macro name and associates it with the 
specified value .
The default (-Dname ) defines a macro with a value of 1. OFF by 
default.

-E Directs the preprocessor to expand your source module and 
write the result to standard output. OFF by default.

-EP Directs the preprocessor to expand your source module and 
write the result to standard output. Does not include #line 
directives in the output. OFF by default.

-P Directs the preprocessor to expand your source module and 
store the result in a .i file in the current directory. OFF by 
default.

-Uname Suppresses any automatic definition for the specified 
macro name . OFF by default.


Controlling Compilation Flow

-c Stops the compilation process after an object file has been 
generated. The compiler generates an object file for each C or 
C++ source file or preprocessed source file. Also takes an 
assembler file and invokes the assembler to generate an object 
file. OFF by default.

-Kpic, -KPIC Generate position-independent code. ON by default.

-lname Link with a library indicated in name. OFF by default.

-nobss_init Places variables that are initialized with zeroes in 
the DATA section. OFF by default.

-P, -F Stops the compilation process after C or C++ source files 
have been preprocessed and writes the results to files named 
according to the compiler's default file-naming conventions. OFF 
by default.


-S Generates assemblable file with .s suffix, then stops the 
compilation. OFF by default.

-Zp{1|2|4|8|16}
Specifies the strictest alignment constraint for structure and 
union types as one of the following: 1, 2, 4, 8, or 16 bytes. ON 
by default: -Zp16 .


Controlling Compilation Output
-Ldirectory Instruct linker to search directory for libraries. 
OFF by default.

-oname Produces an executable output file with the specified file 
name , or the default file name if file name is not specified. 
OFF by default.

-S Generates assemblable file with .s suffix, then stops the 
compilation. OFF by default.


Debugging Options
-g Debugging information produced. OFF by default.

Conformance Options
-ansi Enables assumption of the program's ANSI conformance. OFF 
by default.

-ansi_alias[-] -ansi_alias directs the compiler to assume the 
following:
  Arrays are not accessed out of bounds.
  Pointers are not cast to non-pointer types, and vice-versa.
  References to objects of two different scalar types cannot 
alias. For example, an object of type int cannot alias with an 
object of type float, or an object of type float cannot alias 
with an object of type double. OFF by default.

-mp Favors conformance to the ANSI C and IEEE 754 standards for 
floating-point arithmetic. Behavior for NaN comparisons does not 
conform. OFF by default.


Optimization-level Options
-O0 Disables optimizations.

-O1 Enables optimizations. Optimizes for speed. -O1 disables 
inline expansion of library functions. Turns off software 
pipelining to reduce code size. OFF by default.


-O2 Equivalent to option -O. Same as �O1 plus software 
pipelining. ON by default.


-O3 Builds on -O1 and -O2 by enabling high-level optimization. 
This level does not guarantee higher performance unless loop and 
memory access transformation take place. In conjunction with -
axK/-xK, this switch causes the compiler to perform more 
aggressive data dependency analysis than for -O2. This may result 
in longer compilation times. OFF by default.


Interprocedural Optimizations
-ip Enables interprocedural optimizations for single file 
compilation. OFF by default.

-ip_no_inlining Disables inlining that would result from the -ip 
interprocedural optimization, but has no effect on other 
interprocedural optimizations. OFF by default.

-ipo Enables interprocedural optimizations across files. OFF by 
default.

-ipo_c Generates a multifile object file that can be used in 
further link steps. OFF by default.

-ipo_obj Forces the compiler to create real object files when 
used with -ipo. OFF by default.

-ipo_S Generates a multifile assemblable file named ipo_out.asm 
that can be used in further link steps. OFF by default.

-inline_debug_info Preserve the source position of inlined code 
instead of assigning the callsite source position to inlined 
code. OFF by default.

-nolib_inline Disables inline expansion of standard library 
functions. OFF by default.


Profile-guided Optimizations
-prof_gen[x] Instructs the compiler to produce instrumented code 
in your object files in preparation for instrumented execution. 
NOTE: The dynamic information files are produced in phase 2 when 
you run the instrumented executable. OFF by default.

-prof_use Instructs the compiler to produce a profile-optimized 
executable and merges available dynamic information (.dyn) files 
into a pgopti.dpi file. If you perform multiple executions of the 
instrumented program, -prof_use merges the dynamic information 
files again and overwrites the previous pgopti.dpi file. OFF by 
default.

-prof_dirdir Specifies the directory (dir) to hold profile 
information in the profiling output files, *.dyn and *.dpi. OFF 
by default.

-prof_filefile
Specifies file name for profiling summary file. OFF by default.


High-level Language Optimizations
-openmp Enables the parallelizer to generate multi-threaded code 
based on the OpenMP* directives. Enables parallel execution on 
both uni- and multiprocessor systems. OFF by default.

-openmp_report{0|1|2} Controls the OpenMP* parallelizer's 
diagnostic levels 0, 1, or 2:
  0 - no information
  1 - loops, regions, and sections parallelized (default)
  2 - same as 1 plus master construct, single construct, etc. ON 
by default: openmp_report1.

-unroll[n]
Set maximum number (n) of times to unroll loops. Omit n to use
default heuristics. Use n =0 to disable loop unrolling. For 
Itanium�-based applications, -unroll[0] used only for 
compatibility. OFF by default.

Optimization Reports
-opt_report Generates optimizations report and directs to stderr. 
OFF by default.

-opt_report_filefilename Specifies the filename for the 
optimizations report. OFF by default.

-opt_report_level{min|med|max}
Specifies the detail level of the optimizations report.
Default: -opt_report_levelmin
-opt_report_phasephase Specifies the optimization to generate the 
report for. Can be specified multiple times on the command line 
for multiple optimizations. OFF by default.

-opt_report_help Prints to the screen all available phases for
-opt_report_phase. OFF by default.

-opt_report_routinesubstring Generates reports from all routines 
with names containing the substring as part of their name. If not 
specified, reports from all routines are generated. OFF by 
default.