Visible to Intel only — GUID: GUID-59331A36-D05E-4A4B-9122-986D9341361A
Visible to Intel only — GUID: GUID-59331A36-D05E-4A4B-9122-986D9341361A
Alphabetical Option List
The following table lists all the current compiler options in alphabetical order.
Enables language compatibility with the gcc option ansi. |
|
Tells the compiler which features it may target, including which instruction sets it may generate. |
|
Tells the compiler to generate multiple, feature-specific auto-dispatch code paths for Intel® processors if there is a performance benefit. |
|
Specifies a directory that can be used to find include files, libraries, and executables. |
|
Enables dynamic linking of libraries at run time. |
|
Enables static linking of a user's library. |
|
Binds references to all global symbols in a program to the definitions within a user's shared library. |
|
Binds references to all global function symbols in a program to the definitions within a user's shared library. |
|
Places comments in preprocessed source output. |
|
Prevents linking. |
|
Defines a macro name that can be associated with an optional value. |
|
Same as option -dM, but outputs #define directives in preprocessed source. |
|
Enables or disables generation of debugging information. |
|
Enables or disables generation of debugging information. |
|
Enables or disables certain device libraries. This is a deprecated option that may be removed in a future release. |
|
Tells the compiler to output macro definitions in effect after preprocessing. |
|
Specifies that driver tool commands should be shown but not executed. |
|
Displays the target machine and operating system configuration. |
|
Displays the version number of the compiler. |
|
Specifies a dynamic linker other than the default. |
|
Causes the preprocessor to send output to stdout. |
|
Specifies the model of exception handling to be performed. |
|
Causes the preprocessor to send output to stdout, omitting #line directives. |
|
Specifies the stack reserve amount for the program. |
|
Specifies that an assembly listing file should be generated. |
|
Enables the use of blocks and entire functions of assembly code within a C or C++ file. |
|
Maximizes speed across the entire program. |
|
Determines whether unwind information is precise at an instruction boundary or at a call boundary. |
|
Enables or disables inline expansion of intrinsic functions. |
|
Determines whether the compiler treats common symbols as global definitions. |
|
Places each data item in its own COMDAT section. |
|
Generates file dependencies related to the Microsoft* C/C++ compiler. |
|
Specifies the name for a built program or dynamic-link library. |
|
Enables exception handling table generation. |
|
Controls when the compiler is permitted to form fused floating-point operations, such as fused multiply-add (FMA). Fused operations are allowed to produce more precise results than performing the individual operations separately. |
|
Ensures that compilation takes place in a freestanding environment. |
|
Places each function in its own COMDAT section. |
|
Tells the compiler to use C89 semantics for inline functions when in C99 mode. |
|
Defines the maximum allowable absolute error for math library function results. |
|
Defines the relative error for math library function results, including division and square root. |
|
Ensures that the math library functions produce consistent results across different microarchitectural implementations of the same architecture. |
|
Indicates the input arguments domain on which math functions must provide correct results. |
|
Instructs the compiler to use run-time dispatch in calls to math functions. |
|
Defines the maximum allowable relative error for math library function results, including division and square root. |
|
Lets you specify a level of accuracy (precision) that the compiler should use when determining which math library functions to use. |
|
Instructs the compiler to use the Short Vector Math Library (SVML) rather than the Intel® oneAPI DPC++/C++ Compiler Math Library (LIBM) to implement math library functions. |
|
Tells the compiler to inline functions declared with __inline and perform C++ inlining . |
|
Enables function inlining for single file compilation. |
|
Lets you perform ahead-of-time (AOT) compilation for the Field Programmable Gate Array (FPGA). |
|
Enables recognition of OpenMP* features, such as parallel, simd, and offloading directives. This is an alternate option for compiler option [Q or q]openmp. |
|
Tells the preprocessor to include a specified file name as the header file. |
|
Causes the linker to create a program that can be loaded only at its preferred base address. |
|
Determines whether jump tables are generated for switch statements. |
|
Tells the compiler to preserve allocation of variables that are not referenced in the source. |
|
Enables whole program link time optimization (LTO). |
|
Tells the linker to generate a link map file. This is a deprecated option that may be removed in a future release. |
|
Determines whether the compiler generates fused multiply-add (FMA) instructions if such instructions exist on the target processor. |
|
Tells the compiler that errno can be reliably tested after calls to standard math library functions. |
|
Tells the compiler to not recognize typeof as a keyword. |
|
Disables support for the operator names specified in the standard. |
|
Disables support for run-time type information (RTTI). |
|
Disables the check for libspirv (the SPIR-V* tools library). |
|
Specifies the name for an object file. |
|
Tells the compiler to link with a fat (multi-architecture) static library. This is a deprecated option that may be removed in a future release. |
|
Determines whether EBP is used as a general-purpose register in optimizations. |
|
Option -fopenmp is a deprecated option that will be removed in a future release. |
|
fopenmp-declare-target-scalar-defaultmap, Qopenmp-declare-target-scalar-defaultmap |
Determines which implicit data-mapping/sharing rules are applied for a scalar variable referenced in a target pragma. |
Enables or disables certain device libraries for an OpenMP* target. |
|
Enables a way to overcome the problem where some OpenMP* offload SPIR-V* devices produce incorrect code when a target object is larger than 4GB. |
|
Enables offloading to a specified GPU target if OpenMP* features have been enabled. |
|
Determines whether the compiler optimizes tail recursive calls. |
|
Lets you specify an alternate path or file name for precompiled header files. |
|
Specifies that structure members should be packed together. |
|
Tells the compiler to allow for non-conformant code. |
|
Determines whether the compiler generates position-independent code. |
|
Tells the compiler to generate position-independent code. The generated code can only be linked into executables. |
|
Controls the semantics of floating-point calculations. |
|
Tells the compiler the mode in which to speculate on floating-point operations. |
|
Tells the compiler to allocate as many bytes as needed for enumerated types. |
|
Enables or disables stack overflow security checks for certain (or all) routines. |
|
Determines whether the compiler generates code that detects some buffer overruns. |
|
Enables a program to be compiled as a SYCL* program rather than as plain C++11 program. |
|
Lets you add arbitrary device binary images to the fat SYCL* binary when linking. This is a deprecated option that may be removed in a future release. |
|
Enables elimination of SYCL dead kernel arguments. |
|
Specifies a SYCL* device code module assembly. |
|
Enables or disables certain device libraries for a SYCL* target. |
|
Tells the compiler to generate a device-only binary. |
|
Enables LLVM-related optimizations before SPIR-V* generation. |
|
Enables function pointers and support for virtual functions for SYCL kernels and device functions. This is an experimental feature. |
|
Determines whether the compiler enforces stateless memory accesses within ESIMD kernels on the target device. This is an experimental feature. |
|
Enables or disables the experimental "Explicit SIMD" SYCL* extension. This is a deprecated option that may be removed in a future release. |
|
Forces the compiler to use the specified target triple device when extracting device code from any given objects on the command line. |
|
Causes help information to be emitted from the device compiler backend. |
|
Tells the compiler to use the specified compiler for the host compilation of the overall offloading compilation that is performed. |
|
Passes options to the compiler specified by option fsycl-host-compiler. |
|
Tells the compiler to assume that SYCL ID queries fit within MAX_INT. |
|
Enables or disables linking of the Instrumentation and Tracing Technology (ITT) device libraries for VTune™. |
|
Tells the compiler to perform a partial link of device binaries to be used with Field Programmable Gate Array (FPGA). |
|
Tells the compiler to place device code later in the linked binary. This is to prevent 32-bit PC-relative relocations between surrounding Executable and Linkable Format (ELF) sections when the device code is larger than 2GB. |
|
Tells the compiler to link only device code. This is a deprecated option that may be removed in a future release. |
|
Tells the compiler that it can simultaneously spawn up to the specified number of processes to perform actions required to link SYCL applications. This is an experimental feature. |
|
Tells the compiler to generate code for specified device targets. |
|
Enables unnamed SYCL* lambda kernels. |
|
Tells the compiler to produce device code in LLVM Intermediate Representation (IR) bitcode format into fat objects. |
|
Tells the compiler to check only for correct syntax. |
|
Initializes stack local variables to an unusual value to aid error detection. |
|
Change default char type to unsigned. |
|
Tells the compiler to use a different linker instead of the default linker, which is ld on Linux and link on Windows. |
|
Enables peel loop vectorization. |
|
Enables remainder loop vectorization. |
|
Enables vectorization for short trip-count loops with masking. |
|
Produces an assembly listing with compiler comments, including options and version information. |
|
Specifies the default visibility for global symbols or the visibility for symbols in declarations, functions, or variables. |
|
Determines whether the compiler places in the DATA section any variables explicitly initialized with zeros. |
|
Tells the compiler to generate a level of debugging information in the object file. |
|
Enables faster access to certain thread-local storage (TLS) variables. |
|
Lets you specify the location of the base toolchain. |
|
Makes __cdecl the default calling convention. |
|
Lets you specify a DWARF Version format when generating debug information. |
|
Enables read-only string-pooling optimization. |
|
Enables or disables C++ Run Time Type Information (RTTI). |
|
Causes the command line options that were used to invoke the compiler to be appended to the DW_AT_producer attribute in DWARF debugging information. |
|
Determines whether the compiler generates code that detects some buffer overruns. |
|
Lets you control the threshold at which the stack checking routine is called or not called. |
|
Creates a separate object file containing DWARF debug information. |
|
Enables the control flow protection mechanism. |
|
Tells the compiler to use the vector calling convention (__vectorcall) when passing vector type arguments. |
|
Tells the compiler to display the include file order and continue compilation. |
|
Displays a list of supported compiler options in alphabetical order. |
|
Specifies an additional directory to search for include files. |
|
Splits the include path. |
|
Adds a directory to the second include file search path. |
|
Allows a header to be specified that is included in front of the other headers in the translation unit. |
|
Enables interprocedural optimization between files. |
|
Controls whether the compiler links to static or dynamic threaded Intel® Integrated Performance Primitives (Intel® IPP) run-time libraries. |
|
Lets you indicate the prefix for referencing directories that contain header files. |
|
Adds a directory to the front of the include file search path for files included with quotes but not brackets. |
|
Specifies a directory to add to the start of the system include path. |
|
Appends a directory to the prefix passed in by -iprefix and puts it on the include search path at the end of the include directories. |
|
Similar to -iwithprefix except the include directory is placed in the same place as -I command-line include directories. |
|
Sets the default character type to unsigned. |
|
Tells the compiler to process all source or unrecognized file types as C++ source files. This is a deprecated option that may be removed in a future release. |
|
Tells the linker to search for a specified library when linking. |
|
Tells the linker to search for libraries in a specified directory before searching the standard directories. |
|
Specifies that a program should be linked as a dynamic-link (DLL) library. |
|
Passes user-specified options directly to the linker at compile time. |
|
Tells the compiler which features it may target, including which instruction set architecture (ISA) it may generate. |
|
Tells the compiler to generate makefile dependency lines for each source file. |
|
Tells the compiler to generate code for a specific architecture. Option m32 (and Qm32) is deprecated and will be removed in a future release. |
|
Specifies whether the compiler can use x87 instructions. |
|
Tells the compiler to generate code for processors that support certain features. |
|
Tells the compiler to generate the assembler output file using a selected dialect. |
|
mbranches-within-32B-boundaries, Qbranches-within-32B-boundaries |
Tells the compiler to align branches and fused branches on 32-byte boundaries for better performance. |
Tells the compiler to use a specific memory model to generate code and store data. |
|
Tells the linker to search for unresolved references in a multithreaded, dynamic-link run-time library. |
|
Preprocess and compile, generating output file containing dependency information ending with extension .d. |
|
Tells the compiler to generate makefile dependency information in a file. |
|
Tells the compiler to generate makefile dependency lines for each source file. |
|
Enables functions containing calls to intrinsics that require a specific CPU feature to have their target architecture automatically promoted to allow the required feature. |
|
Tells the compiler to generate makefile dependency lines for each source file. |
|
Tells the compiler to generate an output file containing dependency information. |
|
Determines whether the frame pointer is omitted or kept in leaf functions. |
|
Changes the default target rule for dependency generation. |
|
Tells the linker to search for unresolved references in a multithreaded, static run-time library. |
|
Changes the default target rule for dependency generation. |
|
Performs optimizations for specific processors but does not cause extended instruction sets to be used (unlike -march). |
|
Prevents the compiler from using standard libraries when linking. |
|
Disables linking to specified Intel® libraries, or to all Intel® libraries. |
|
Prevents the linking of certain gcc-specific libraries. |
|
Disables inline expansion of standard library or intrinsic functions. |
|
Disables linking of the SYCL* runtime library. |
|
Tells the compiler to not display compiler version information. |
|
Prevents the compiler from using standard startup files when linking. |
|
Do not search for header files in the standard directories for C++, but search the other standard directories. |
|
Prevents the compiler from using standard libraries and startup files when linking. |
|
Specifies the code optimization for applications. |
|
Specifies the name for an output file. |
|
Disables all optimizations. |
|
Sets certain aggressive options to improve the speed of your application. |
|
Enables optimizations that do not increase code size; it produces smaller code size than O2. |
|
Enables all speed optimizations. |
|
Enables maximum optimizations. |
|
Tells the compiler to stop the compilation process and write the results to a file. |
|
Enables control of floating-point significand precision. |
|
Determines whether the compiler generates position-independent code that will be linked into an executable. |
|
Specifies which interpretation of the optimization_level pragma should be used if no prefix is specified. |
|
Tells the compiler to use pthreads library for multithreading support. |
|
Tells the compiler to include the Algorithmic C (AC) data type folder for header searches and link to the AC data types libraries for Field Programmable Gate Array (FPGA) and CPU compilations. |
|
Tells the compiler to link to certain libraries in the Intel® oneAPI Data Analytics Library ( oneDAL ). |
|
Tells the compiler to link to some or all of the Intel® Integrated Performance Primitives (Intel® IPP) libraries. |
|
Changes the default size of the long double data type. |
|
Tells the compiler to link to certain libraries in the Intel® oneAPI Math Kernel Library ( oneMKL ) . On Windows systems, you must specify this option at compile time. |
|
Tells the compiler to link to the ILP64-specific version of the Intel® oneAPI Math Kernel Library ( oneMKL ) . On Windows systems, you must specify this option at compile time. |
|
Enables recognition of OpenMP* features and tells the parallelizer to generate multi-threaded code based on OpenMP* directives. |
|
Lets you specify an OpenMP* run-time library to use for linking. |
|
Controls whether the compiler links to static or dynamic OpenMP* run-time libraries. |
|
Enables or disables OpenMP* SIMD compilation. |
|
Enables compilation of OpenMP* programs in sequential mode. |
|
Passes options to a specified tool. |
|
qopt-assume-no-loop-carried-dep, Qopt-assume-no-loop-carried-dep |
Lets you set a level of performance tuning for loops. |
Enables or disables dynamic data alignment optimizations. |
|
Determines how the compiler optimizes for throughput depending on whether the program is to run in single-job or multi-job mode. |
|
qopt-multiple-gather-scatter-by-shuffles, Qopt-multiple-gather-scatter-by-shuffles |
Enables or disables the optimization for multiple adjacent gather/scatter type vector memory references. |
Enables the generation of a YAML file that includes optimization transformation information. |
|
Specifies whether the output for the generated optimization report goes to a file, stderr, or stdout. |
|
Enables generation of streaming stores for optimization. |
|
Tells the compiler to link to the Intel® oneAPI Threading Building Blocks ( oneTBB ) libraries. |
|
Tells the compiler that the __regcall calling convention should be used for functions that do not directly specify a calling convention. |
|
Tells the compiler to speed up Field Programmable Gate Array (FPGA) target compile time by reusing a previously compiled FPGA hardware image. |
|
Enables checking for certain run-time conditions. |
|
Causes the compiler to compile to an assembly file only and not link. |
|
Tells the compiler to save intermediate files created during compilation. |
|
Tells the compiler to produce a dynamic shared object instead of an executable. |
|
Causes Intel-provided libraries to be linked in dynamically. |
|
Links the GNU libgcc library dynamically. |
|
Tells the compiler to display a list of the include files. |
|
Tells the compiler to save the compilation options in the executable file. |
|
Prevents linking with shared libraries. |
|
Causes Intel-provided libraries to be linked in statically. |
|
Links the GNU libgcc library statically. |
|
Links the GNU libstdc++ library statically. |
|
Tells the compiler to conform to a specific language standard. |
|
Tells the compiler to implement strict ANSI conformance dialect. |
|
Specifies the root directory where headers and libraries are located. |
|
Tells the linker to read link commands from a file. |
|
Tells the compiler to process a file as a C source file. |
|
Tells the compiler to process all source or unrecognized file types as C source files. |
|
Tells the compiler to process a file as a C++ source file. |
|
Undefines any definition currently in effect for the specified macro . |
|
Tells the compiler the specified symbol is undefined. |
|
Disables all predefined macros . |
|
Tells the compiler the maximum number of times to unroll loops. |
|
Determines whether the performance headers directory is added to the include path search list. |
|
Enables the use of blocks and entire functions of assembly code within a C or C++ file. |
|
Specifies that driver tool commands should be displayed and executed. |
|
Enables or suppresses hidden vtordisp members in C++ objects. |
|
Enables or disables vectorization. |
|
Sets a threshold for the vectorization of loops. |
|
Tells the compiler to display GCC-style version information. |
|
Selects the general representation that the compiler uses for pointers to members. |
|
Enables pointers to members of any inheritance type. |
|
Disables all warning messages. |
|
Specifies the level of diagnostic messages to be generated by the compiler. |
|
Passes options to the assembler for processing. |
|
Determines whether a warning is issued if generated code is not C++ ABI compliant. |
|
Enables warning and error diagnostics. |
|
Tells the compiler to display certain information to the console output window. |
|
Determines whether the compiler performs source code checking for Unicode vulnerabilities. |
|
Determines whether a warning is issued when /* appears in the middle of a /* */ comment. |
|
Determines whether warnings are issued for deprecated C++ headers. |
|
Enables warnings based on certain C++ programming guidelines. |
|
Changes all warnings to errors. |
|
Causes all warnings and currently enabled remarks to be reported as errors. |
|
Determines whether warnings are issued about extra tokens at the end of preprocessor directives. |
|
Determines whether argument checking is enabled for calls to printf, scanf, and so forth. |
|
Determines whether the compiler issues a warning when the use of format functions may cause security problems. |
|
Passes options to the linker for processing. |
|
Determines whether a warning is issued if the return type of main is not expected. |
|
Determines whether warnings are issued for global functions and variables without prior declaration. |
|
Determines whether warnings are issued for missing prototypes. |
|
Disables warnings that enforce strict SYCL* language compatibility. |
|
Passes options to the preprocessor. |
|
Determines whether warnings are issued for questionable pointer arithmetic. |
|
Tells the compiler to issue a warning when the order of member initializers does not match the order in which they must be executed. |
|
Determines whether warnings are issued when a function is declared without a return type, when the definition of a function returning void contains a return statement with an expression, or when the closing brace of a function returning non-void is reached. |
|
Determines whether a warning is issued when a variable declaration hides a previous declaration. |
|
Determines whether warnings are issued when a comparison between signed and unsigned values could produce an incorrect result when the signed value is converted to unsigned. |
|
Determines whether warnings are issued for code that might violate the optimizer's strict aliasing rules. |
|
Determines whether warnings are issued for functions declared or defined without specified argument types. |
|
Determines whether warnings are issued if any trigraphs are encountered that might change the meaning of the program. |
|
Determines whether a warning is issued if a variable is used before being initialized. |
|
Determines whether a warning is issued if an unknown #pragma directive is used. |
|
Determines whether a warning is issued if a declared function is not used. |
|
Determines whether a warning is issued if a local or non-constant static variable is unused after being declared. |
|
Issues a diagnostic message if const char * is converted to (non-const) char *. |
|
Removes standard directories from the include file search path. |
|
All source files found subsequent to -x type will be recognized as a particular type. |
|
Tells the compiler which processor features it may target, including which instruction sets and optimizations it may generate. |
|
Tells the compiler to generate instructions for the highest instruction set available on the compilation host processor. |
|
Passes a linker option directly to the linker. |
|
Enables options to be passed to the specified tool in the device compilation tool chain for the target. |
|
Passes options to the backend tool. |
|
Enables options to be passed to the specified tool in the device compilation tool chain for the target. |
|
Tells the compiler to ignore all other precompiled header files. |
|
Tells the compiler to create a precompiled header file. |
|
Tells the compiler to use a precompiled header file. |
|
Lets you specify ANSI C standard conformance for certain language features. |
|
Tells the compiler to generate function prototypes. This is a deprecated option that may be removed in a future release. |
|
Tells the compiler to generate full debugging information in either an object (.obj) file or a project database (PDB) file. |
|
Causes library names to be omitted from the object file. |
|
Specifies alignment for structures on byte boundaries. |
|
Tells the compiler to check only for correct syntax. |