man pages for ifc
NAME
Intel(R) Fortran Compiler
SYNOPSIS
ifc [options] file1 [file2 ...]
where fileN is a Fortran source (.f .for .ftn .f90 .fpp), assembly (.s),
object (.o), static library (.a), or other linkable file
NOTE: Commonly used options may be placed in the ifc.cfg file.
DESCRIPTION
Intel(R) Fortran Compiler Options. This compiler is designed to prepro-
cess, compile, assemble, and link Fortran programs on IA-32 systems.
Compiler Option List
Performance
-O1 Enable optimizations (DEFAULT)
-O2 Same as -O1
-O3 Enable -O2 plus more aggressive optimizations that may
not improve performance for all programs
-O0 Disable optimizations
-O Same as -O1
-falias Assume aliasing in program (DEFAULT)
-Ob Control inline expansion:
n=0 -- Disables inlining
n=1 -- Inline functions declared with __inline, and per-
form C++ inlining
n=2 -- Inline any function, at the compiler’s discretion
(same as -ip)
-fno-alias Assume no aliasing in program
-ffnalias Assume aliasing within functions (DEFAULT)
-fno-fnalias Assume no aliasing within functions, but assume aliasing
across calls
-fp Disable using EBP as general purpose register
-mp Maintain floating point precision (disables some opti-
mizations)
-mp1 Improve floating-point precision (speed impact is less
than -mp)
-prec_div Improve precision of floating-point divides (some speed
impact)
-fp_port Round fp results at assignments & casts (some speed
impact)
-pc32 Set internal FPU precision to 24 bit significand
-pc64 Set internal FPU precision to 53 bit significand
(DEFAULT)
-pc80 Set internal FPU precision to 64 bit significand
-rcd Enable fast float-to-int conversions
-tpp5 Optimize for Pentium(R) processor
-tpp6 Optimize for Pentium(R) Pro, Pentium(R) II and Pen-
tium(R) III processors
-tpp7 Optimize for Pentium(R) 4 processor
-ax Generate code specialized for processor extensions spec-
ified by while also generating generic IA-32
code. includes one or more of the following
characters:
i -- Pentium Pro and Pentium II processor instructions
M -- MMX(TM) instructions
K -- streaming SIMD extensions
W -- Pentium(R) 4 New Instructions
-x Generate specialized code to run exclusively on proces-
sors supporting the extensions indicated by as
described above.
Advanced Performance
Enable and specify the scope of Interprocedural (IP) Optimizations:
-ip Enable single-file IP optimizations (within files)
-ipo Enable multi-file IP optimizations (between files)
-ipo_c Generate a multi-file object file (ipo_out.o)
-ipo_S Generate a multi-file assembly file (ipo_out.s)
Modify the behavior of IP:
-ip_no_inlining
Disable full and partial inlining (requires -ip or -ipo)
-ip_no_pinlining
Disable partial inlining (requires -ip or -ipo)
-ipo_obj Force generation of real object files (requires -ipo)
Other Advanced Performance Options:
-nolib_inline Disable inline expansion of intrinsic functions
-pad Enable changing variable and array memory layout
-nopad Disable(DEFAULT) changing variable and array memory lay-
out
-unroll[n] Set maximum number of times to unroll loops. Omit n to
use default heuristics. Use n=0 to disable loop
unroller.
-prof_dir Specify directory for profiling output files (*.dyn and
*.dpi)
-prof_file Specify file name for profiling summary file
-prof_gen Instrument program for profiling
-prof_use Enable use of profiling information during optimization
-qp, -p Compile and link for function profiling with UNIX prof
tool
-vec Enable(DEFAULT) the vectorizer
-vec_report[n] Control amount of vectorizer diagnostic information:
n=0 no diagnostic information
n=1 indicate vectorized loops (DEFAULT)
n=2 indicate vectorized/non-vectorized loops
n=3 indicate vectorized/non-vectorized loops and pro-
hibiting data dependence information
n=4 indicate non-vectorized loops
n=5 indicate non-vectorized loops and prohibiting data
dependence information
-opt_report Generate an optimization report to stderr
-opt_report_file
Specify the filename for the generated report
-opt_report_level[level]
Specify the level of report verbosity (min|med|max)
-opt_report_phase
Specify the phase that reports are generated against
-opt_report_routine
Reports on routines containing the given name
-opt_report_help
Display the optimization phases available for reporting
-openmp Enable the compiler to generate multi-threaded code
based on the OpenMP directives
-openmp_stubs Enables the user to compile OpenMP programs in sequen-
tial mode. The openmp directives are ignored and a stub
OpenMP library is linked (sequential)
-openmp_report{0|1|2}
Control the OpenMP parallelizer diagnostic level
-parallel Enable the auto-parallelizer to generate multi-threaded
code for loops that can be safely executed in parallel
-par_report{0|1|2|3}
Control the auto-parallelizer diagnostic level
-par_threshold[n]
Set threshold for the auto-parallelization of loops
where n is an integer from 0 to 100
-ansi_ansi[-] Enable(DEFAULT)[disable] stating ANSI compliance of the
compiled program and that optimizations can be based on
the ANSI rules
-prefetch[-] Enable(DEFAULT)[disable] prefetch insertion (requires
-O3)
-scalar_rep[-] Enable(DEFAULT)[disable] scalar replacement (requires
-O3)
Output, Debug
-c Compile to object (.o) only, do not link
-S Compile to assembly (.s) only, do not link (*I)
-use_asm Produce objects through assembler
-use_msasm Support Microsoft style assembly language insertion
using MASM style syntax and, if requested, output assem-
bly in MASM format
-fcode-asm Produce assembly file with optional code annotations
-fsource-asm Produce assembly file with optional code annotations
-f[no]verbose-asm
Produce assembly file with compiler comments (DEFAULT)
-G0 Print source listing on stdout
-G1 Print source listing on stdout without INCLUDE files
expanded
-o Name output file
-g Produce symbolic debug information in object file
-inline_debug_info
Preserve the source position of inlined code instead of
assigning the call-site source position to inlined code
Fortran Preprocessor
-A- Remove all predefined macros (incompatible with -openmp)
-D[=]
Define macro
-E Preprocess to stdout
-EP Preprocess to stdout omitting #line directives
-P, -F Preprocess to file
-fpp[n] Run Fortran preprocessor on source files prior to compi-
lation
n=0 disable CVF and # directives, equivalent to no fpp
n=1 enable CVF conditional compilation and # directives
(DEFAULT)
n=2 enable only # directives
n=3 enable only CVF conditional compilation directives
-cpp[n] Same as -fpp[n]
-I Add directory to include file search path
-U Remove predefined macro
-X Remove standard directories from include file search
path
FCE/Component Control
-Qoption,,
Pass options to tool specified by
-Qlocation,,
Set as the location of tool specified by
-Qinstall
Set as root of compiler installation
Language
-i2 Set default KIND of integer variables is 2
-i4 Set default KIND of integer variables is 4
-i8 Set default KIND of integer variables is 8
-r8 Set default size of REAL to 8 bytes
-r16 Set default size of REAL to 16 bytes
-autodouble Same as -r8
-doubletemps All intermediate results of floating-points values are
at least double precision.
-DD Compile debug statements (indicated by D in column 1)
-DX Compile statements that have X in column 1
-DY Compile statements that have Y in column 1
-FR Specifies source files are in free format
-FI Specifies source files are in fixed format
-72 Specify 72 column lines for fixed form sources
-80 Specify 80 column lines for fixed form sources
-132 Specify 132 column lines for fixed form sources
-extend_source Same as -132
-pad_source Make compiler acknowledge blanks at the end of a line
-dps Enable DEC* PARAMETER statement recognition (DEFAULT)
-nodps Disable DEC* PARAMETER statement recognition
-1, -onetrip Execute any DO loop at least once
-auto Make all local variables AUTOMATIC
-auto_scalar Make scalar local variables AUTOMATIC (DEFAULT)
-save Save all variables (static allocation); opposite of
-auto
-u, -implicitnone
Set IMPLICIT NONE by default
-Qansi[-] Enable(DEFAULT)[disable] stating ANSI compliance of the
compiled program and that optimizations can be based on
the ANSI rules
-common_args Assume "by reference" subprogram arguments may alias one
another
-vms Enable VMS and DEC statement extensions
-zero Implicitly initialize all data to zero
-C Enable extensive runtime error checking (-CA, -CB, -CS,
-CU, -CV)
-CA Runtime checks for nil pointer/allocatable array refs
-CB Runtime checks for out-of-bounds array subscript/sub-
string refs
-CS Runtime checks for consistent shape of intrinsic proce-
dure array args
-CU Runtime checks for uninitialized variables
-CV Runtime checks for formal/actual parameter correspon-
dence
-d Set level of diagnostics
-Qdyncom"blk1,blk2,..."
Make given common blocks dynamically-allocated
-Qloccom"blk1,blk2,..."
Make given common blocks locally-allocated
-nbs Treat backslash as a normal character, not an escape
character
-nus Do not append an underscore to external subroutine names
-nus[,] Do not append an underscore to subroutine names listed
in
-lowercase Change routine names to all lowercase (DEFAULT)
-uppercase Change routine names to all uppercase
-[no]align Analyze and reorder memory layout for variables and
arrays
-Zp[n] Specify alignment constraint for structures
(n=1,2,4,8,16)
-y, -syntax Perform syntax check only
Compiler Diagnostics
-cerrs[-] Enable[disable](DEFAULT) terse format for diagnostic
messages
-cm Suppress all comment messages
-q Suppress printing errors to stderr
-w Disable all warnings
-Wn Disable warnings (n=0) or show warnings (n=1, DEFAULT)
-WB Issue a warning instead of an error for out-of-bounds
array references
-w90, -w95 Suppress messages about use of non-standard Fortran
-e90, -e95 Issue errors for non-standard Fortran
Miscellaneous
-help Prints list of compiler options
-V Display compiler version information
-sox[-] Enable(DEFAULT)[disable] saving of compiler options and
version in the executable
-dryrun Show driver tool commands but do not execute tools
-v Show driver tool commands and execute tools
-Tf Compile file as Fortran source
-nobss_init Disable placement of zero-initialized variables in BSS
(use DATA)
-Kpic, -KPIC Generate position independent code
-fpic, -fPIC Generate position independent code
-0f_check Enable the patch for the Pentium 0f erratum
-convert{ little endian | big endian | native }
Specifies the format of unformatted files containing
numeric data
-module[path], -nomodule
Specifies the directory where the module files (.mod)
are placed. Omitting this option, or specifying -nomod-
ule, results in placing the module files in the direc-
tory where the source files are compiled.
-show[-] Enables [disables] printing a source listing to stdout
with contents of INCLUDE files.
Linking/Linker
-L Instruct linker to search for libraries
-i_dynamic Link Intel provided libraries dynamically
-no_cpprt Do not link in C++ runtime libraries
-nodefaultlibs Do not use standard libraries when linking
-nostartfiles Do not use standard startup files when linking
-nostdlib Do not use standard libraries and startup files when
linking
-static Prevents linking with shared libraries
-shared Produce a shared object
-Xlinker Pass directly to the linker for processing
-Wl,[,,...]
Pass options o1, o2, etc. to the linker for processing
-C90 Link with alternate I/O library for mixed output with C
-posixlib Link with POSIX library
-Vaxlib Link with portability library
-dynamic-linker
Selects a dynamic linker (filename) other than the
default