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.