Intel(R) C++ Compiler / Itanium(R) Help ======================================= usage: ecl [options] file1 [file2 ...] [/link linker_options] where options represents zero or more compiler options fileN is a C/C++ source (.c .cc .cpp .cxx .i), assembly (.asm), object (.obj), static library (.lib), or other linkable file linker_options represents zero or more linker options Notes ----- 1. Most Microsoft* Visual C++* compiler options are supported; a warning is printed for most unsupported options. The precise behavior of performance options does not always match that of the Microsoft Visual C++ compiler. 2. Intel C++ compiler options may be placed in your ecl.cfg file. 3. Most options beginning with /Q are specific to the Intel C++ compiler: (*I) indicates other options specific to the Intel C++ compiler (*M) indicates /Q options supported by the Microsoft Visual C++ compiler 4. "/" may be replaced by "-" (example -GX -GR) 5. In config file, +FD0 means for Pass1: -prof_gen for Pass2: -prof_use Compiler Option List -------------------- Performance ----------- /O1 optimize for maximum speed, but disable some optimizations which increase code size for a small speed benefit: /Gfsy /Ob1gysi- /Qunroll0 /O2 optimize for maximum speed (DEFAULT): /Gfsy /Ob1gyti /O3 optimize for maximum speed and enable high-level optimizations /Ox enable maximum optimizations: /Gs /Ob1gyti (same as /O2 without /Gfy) /Od disable optimizations; useful for selective optimizations (i.e. /Od /Og) /Ob control inline expansion: n=0 disables inlining n=1 inline functions declared with __inline, and perform C++ inlining n=2 inline any function, at the compiler's discretion (same as /Qip) /Og enable global optimizations /Oi[-] enable/disable inline expansion of intrinsic functions /Op[-] enable/disable better floating-point precision /Os enable speed optimizations, but disable some optimizations which increase code size for small speed benefit (overrides /Ot) /Ot enable speed optimizations (overrides /Os) /Oa[-] assume no aliasing in program /Ow[-] assume no aliasing within functions, but assume aliasing across calls /G1 optimize for Itanium(R) processor /G2 optimize for Itanium(R) 2 processor (DEFAULT) /GR[-] enable/disable C++ RTTI /GX[-] enable/disable C++ exception handling (/GX is same as /EHsc) /EHa enable asynchronous C++ exception handling model /EHs enable synchronous C++ exception handling model /EHc assume extern "C" functions do not throw exceptions /Ge enable stack checks for all functions /Gs[n] disable stack checks for functions with less than n bytes of locals /Gf enable string pooling optimization /GF enable read-only string pooling optimization /Gy separate functions for the linker (COMDAT) /GT enable fiber-safe thread local storage /Qnopic disable generation of position independent code /Ap64 assume 64-bit size for pointers (DEFAULT) /As32 assume 32-bit address space /As64 assume 64-bit address space (DEFAULT) Advanced Performance -------------------- Enable and specify the scope of Interprocedural (IP) Optimizations: /Qip enable single-file IP optimizations (within files, same as /Ob2) /Qipo enable multi-file IP optimizations (between files) /Qipo_c generate a multi-file object file (ipo_out.obj) /Qipo_S generate a multi-file assembly file (ipo_out.asm) Modify the behavior of IP: /Qip_no_inlining disable IP inlining (requires /Qip or /Qipo) /Qipo_obj force generation of real object files (requires /Qipo) Other Advanced Performance Options: /Qunroll0 disable loop unrolling /Qprof_dir specify directory for profiling output files (*.dyn and *.dpi) /Qprof_file specify file name for profiling summary file /Qprof_gen[x] instrument program for profiling; with the x qualifier, extra information is gathered for use with the PROFORDER tool /Qprof_use enable use of profiling information during optimization /Qfnsplit[-] enable/disable function splitting (enabled with /Qprof_use) /Qopt_report generate an optimization report to stderr /Qopt_report_file specify the filename for the generated report /Qopt_report_level[level] specify the level of report verbosity (min|med|max) /Qopt_report_phase specify the phase that reports are generated against /Qopt_report_routine reports on routines containing the given name /Qopt_report_help display the optimization phases available for reporting /Qtcheck generate instrumentation to drive the Intel Thread Checker to detect multi-threading bugs in programs written using Windows or POSIX Threads /Qopenmp enable the compiler to generate multi-threaded code based on the OpenMP directives /Qopenmp_profile link with instrumented OpenMP runtime library to generate OpenMP profiling information for use with the OpenMP component of the VTune(TM) Performance Analyzer /Qopenmp_stubs enables the user to compile OpenMP programs in sequential mode. The openmp directives are ignored and a stub OpenMP library is linked (sequential) /Qopenmp_report{0|1|2} control the OpenMP parallelizer diagnostic level /Qparallel enable the auto-parallelizer to generate multi-threaded code for loops that can be safely executed in parallel /Qpar_report{0|1|2|3} control the auto-parallelizer diagnostic level /Qpar_threshold[n] set threshold for the auto-parallelization of loops where n is an integer from 0 to 100 /Qansi_alias[-] enable/disable(DEFAULT) use of ANSI aliasing rules in optimizations; user asserts that the program adheres to these rules /Qcomplex_limited_range[-] enable/disable(DEFAULT) the use of the basic algebraic expansions of some complex arithmetic operations. This can allow for some performance improvement in programs which use a lot of complex arithmetic at the loss of some exponent range. /Qchkstk[-] enable/disable call _chkstk for every call to alloca() /Qivdep_parallel make ivdep directives mean no loop carried dependencies /Qserialize-volatile[-] enable/disable strict memory access ordering for volatile data object references /Qftz[-] enable/disable flush denormal results to zero /QIPF_fma[-] enable/disable the combining of floating point multiplies and add/subtract operations /QIPF_fltacc[-] enable/disable optimizations that affect floating point accuracy /QIPF_flt_eval_method0 floating point operands evaluated to the precision indicated by program /QIPF_fp_speculation enable floation point speculations with the following conditions: fast - speculate floating point operations (DEFAULT) safe - speculate only when safe strict - same as off off - disables speculation of floating-point operations Output, Debug, PCH ------------------ /c compile to object (.obj) only, do not link /S compile to assembly (.asm) only, do not link (*I) /FA[cs] produce assembly file (this compiler ignores 'c' and 's' modifiers) /Fa[file] name assembly file (or directory for multiple files; i.e. /FaMYDIR\) /Fo[file] name object file (or directory for multiple files; i.e. /FoMYDIR2\) /Fe name executable file or directory /Fm[file] name map file or directory /Fp[file] name precompiled header file /Yc[hfile] create precompiled header file /Yu[hfile] use precompiled header file /YX enable automatic precompiled header file creation/usage /Y- ignore all other precompiled header file options /Qpchi[-] enable(DEFAULT)/disable PCH coexistence, to reduce build time /Qpch_compress specify compression of PCH files /Qpch_mem preallocate megabytes of memory for PCH creation /FD generate file dependencies /Fr[file] name source browser file (excludes local variable info) /FR[file] name extended source browser file /Quse_asm[-] enable/disable(DEFAULT) use of assembler to produce object files /GZ detect "release build" runtime errors in "debug build" code /RTC1 equivalent to /GZ or /RTCsu /RTCs enable stack frame runtime checks /RTCu report use of variable that was not initialized /Zd produce line number information in object file /Zi, /Z7 produce symbolic debug information in object file /ZI same as /Zi /Qinline_debug_info preserve the source position of inlined code instead of assigning the call-site source position to inlined code Preprocessor ------------ /C don't strip comments /D[{=|#}] define macro /QA[(val)] create an assertion 'name' having value 'val' /QA[-] remove all predefined macros /E preprocess to stdout /EP preprocess to stdout, omitting #line directives /EP /P preprocess to file, omitting #line directives /P preprocess to file /FI force inclusion of file /I add directory to include file search path /QH print include file order /QM generate makefile include dependencies; don't compile /QMM similar to /QM, but do not include system header files /QMG similar to /QM, but treat missing header files as generated files /QMD preprocess and compile, generating output file containing dependency information ending with extension .d /QMMD similar to /QMD, but do not include system header files /QMF generate makefile dependency information in file (must specify /QM or /QMM) /QMX generate dependency file ending with extension .o.dep containing information used for the Intel wb tool /QdM output macro definitions in effect after preprocessing (use with -E) /U remove predefined macro /u remove all predefined macros /X remove standard directories from include file search path Component Control ----------------- /Qoption,, pass options to tool specified by /Qlocation,, set as the location of tool specified by Language -------- /J change default char type to unsigned /noBool disable 'bool' keyword /Qc99[-] enable/disable(default) C99 support for C programs /Qms allow compilation of certain dubious sources /Qrestrict[-] enable/disable the 'restrict' keyword for disambiguating pointers /Za disable Microsoft Visual C++ compiler language extensions /Ze enable Microsoft Visual C++ compiler language extensions (DEFAULT) /Zg enable the generation of function prototypes /Zp[n] specify alignment constraint for structures (n=1,2,4,8,16) /Zs check source syntax only, do not compile /Zc:arg1[,arg2] specify standard conformance for the following arguments: forScope enforce standard behavior for initializers of for loops wchar_t specify that wchar_t is a native data type /vd{0|1} disable or enable hidden vtordisp field in C++ objects /vm specify representation method for C++ pointers to members Compiler Diagnostics -------------------- /w disable all warnings /W0 print only errors /W1, /W2, /W3 print only errors and warnings (DEFAULT) /W4, /Wall print errors, warnings, and remarks /WX force warnings to be reported as errors /Wp64 print diagnostics for 64-bit porting /Wport issue portability diagnostics /Qwn print a maximum of n errors /Qwd[,,...] disable diagnostics L1 through LN /Qwe[,,...] change severity of diagnostics L1 through LN to error /Qww[,,...] change severity of diagnostics L1 through LN to warning /Qwr[,,...] change severity of diagnostics L1 through LN to remark Miscellaneous ------------- /?, /help print this help message /H limit length of external symbols to n characters /nologo do not display compiler version information /Tc compile file as C source /Tp compile file as C++ source /TC compile all source or unrecognized file types as C source files /TP compile all source or unrecognized file types as C++ source files /V embed version text in executable /QIA64_fr32 disable use of high floating point registers /Qlong_double enable 80-bit 'long double' /Qnobss_init disable placement of zero-initialized variables in BSS (use DATA) Linking/Linker -------------- /link specify that all following options are for the linker /F set the stack reserve amount specified to the linker /LD, /LDd produce a DLL instead of an EXE ('d' = debug version) /MD, /MDd use dynamically-loaded, multithread C runtime /ML, /MLd use statically-loaded, single thread C runtime (/ML is DEFAULT) /MT, /MTd use statically-loaded, multithread C runtime /Zl omit library names from object file Copyright (C) 1985-2003, Intel Corporation. All rights reserved. * Other brands and names are the property of their respective owners.