| 1 | OVERVIEW: clang LLVM compiler
 | 
| 2 | 
 | 
| 3 | USAGE: clang-14 [options] file...
 | 
| 4 | 
 | 
| 5 | OPTIONS:
 | 
| 6 |   -###                    Print (but do not run) the commands to run for this compilation
 | 
| 7 |   --amdgpu-arch-tool=<value>
 | 
| 8 |                           Tool used for detecting AMD GPU arch in the system.
 | 
| 9 |   --analyzer-output <value>
 | 
| 10 |                           Static analyzer report output format (html|plist|plist-multi-file|plist-html|sarif|sarif-html|text).
 | 
| 11 |   --analyze               Run the static analyzer
 | 
| 12 |   -arcmt-migrate-emit-errors
 | 
| 13 |                           Emit ARC errors even if the migrator can fix them
 | 
| 14 |   -arcmt-migrate-report-output <value>
 | 
| 15 |                           Output path for the plist report
 | 
| 16 |   -B <prefix>             Search $prefix$file for executables, libraries, and data files. If $prefix is a directory, search $prefix/$file
 | 
| 17 |   -b <arg>                Pass -b <arg> to the linker on AIX (only).
 | 
| 18 |   -CC                     Include comments from within macros in preprocessed output
 | 
| 19 |   -cl-denorms-are-zero    OpenCL only. Allow denormals to be flushed to zero.
 | 
| 20 |   -cl-fast-relaxed-math   OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines __FAST_RELAXED_MATH__.
 | 
| 21 |   -cl-finite-math-only    OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.
 | 
| 22 |   -cl-fp32-correctly-rounded-divide-sqrt
 | 
| 23 |                           OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.
 | 
| 24 |   -cl-kernel-arg-info     OpenCL only. Generate kernel argument metadata.
 | 
| 25 |   -cl-mad-enable          OpenCL only. Allow use of less precise MAD computations in the generated binary.
 | 
| 26 |   -cl-no-signed-zeros     OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.
 | 
| 27 |   -cl-no-stdinc           OpenCL only. Disables all standard includes containing non-native compiler types and functions.
 | 
| 28 |   -cl-opt-disable         OpenCL only. This option disables all optimizations. By default optimizations are enabled.
 | 
| 29 |   -cl-single-precision-constant
 | 
| 30 |                           OpenCL only. Treat double precision floating-point constant as single precision constant.
 | 
| 31 |   -cl-std=<value>         OpenCL language standard to compile for.
 | 
| 32 |   -cl-strict-aliasing     OpenCL only. This option is added for compatibility with OpenCL 1.0.
 | 
| 33 |   -cl-uniform-work-group-size
 | 
| 34 |                           OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel
 | 
| 35 |   -cl-unsafe-math-optimizations
 | 
| 36 |                           OpenCL only. Allow unsafe floating-point optimizations.  Also implies -cl-no-signed-zeros and -cl-mad-enable.
 | 
| 37 |   --config <value>        Specifies configuration file
 | 
| 38 |   --cuda-compile-host-device
 | 
| 39 |                           Compile CUDA code for both host and device (default).  Has no effect on non-CUDA compilations.
 | 
| 40 |   --cuda-device-only      Compile CUDA code for device only
 | 
| 41 |   --cuda-host-only        Compile CUDA code for host only.  Has no effect on non-CUDA compilations.
 | 
| 42 |   --cuda-include-ptx=<value>
 | 
| 43 |                           Include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.
 | 
| 44 |   --cuda-noopt-device-debug
 | 
| 45 |                           Enable device-side debug info generation. Disables ptxas optimizations.
 | 
| 46 |   --cuda-path-ignore-env  Ignore environment variables to detect CUDA installation
 | 
| 47 |   --cuda-path=<value>     CUDA installation path
 | 
| 48 |   -cuid=<value>           An ID for compilation unit, which should be the same for the same compilation unit but different for different compilation units. It is used to externalize device-side static variables for single source offloading languages CUDA and HIP so that they can be accessed by the host code of the same compilation unit.
 | 
| 49 |   -cxx-isystem <directory>
 | 
| 50 |                           Add directory to the C++ SYSTEM include search path
 | 
| 51 |   -C                      Include comments in preprocessed output
 | 
| 52 |   -c                      Only run preprocess, compile, and assemble steps
 | 
| 53 |   -dD                     Print macro definitions in -E mode in addition to normal output
 | 
| 54 |   -dependency-dot <value> Filename to write DOT-formatted header dependencies to
 | 
| 55 |   -dependency-file <value>
 | 
| 56 |                           Filename (or -) to write dependency output to
 | 
| 57 |   -dI                     Print include directives in -E mode in addition to normal output
 | 
| 58 |   -dM                     Print macro definitions in -E mode instead of normal output
 | 
| 59 |   -dsym-dir <dir>         Directory to output dSYM's (if any) to
 | 
| 60 |   -D <macro>=<value>      Define <macro> to <value> (or 1 if <value> omitted)
 | 
| 61 |   -emit-ast               Emit Clang AST files for source inputs
 | 
| 62 |   -emit-interface-stubs   Generate Interface Stub Files.
 | 
| 63 |   -emit-llvm              Use the LLVM representation for assembler and object files
 | 
| 64 |   -emit-merged-ifs        Generate Interface Stub Files, emit merged text not binary.
 | 
| 65 |   --emit-static-lib       Enable linker job to emit a static library.
 | 
| 66 |   -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang
 | 
| 67 |                           Trivial automatic variable initialization to zero is only here for benchmarks, it'll eventually be removed, and I'm OK with that because I'm only using it to benchmark
 | 
| 68 |   --end-no-unused-arguments
 | 
| 69 |                           Start emitting warnings for unused driver arguments
 | 
| 70 |   -extract-api            Extract API information
 | 
| 71 |   -E                      Only run the preprocessor
 | 
| 72 |   -faapcs-bitfield-load   Follows the AAPCS standard that all volatile bit-field write generates at least one load. (ARM only).
 | 
| 73 |   -faapcs-bitfield-width  Follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).
 | 
| 74 |   -faddrsig               Emit an address-significance table
 | 
| 75 |   -falign-loops=<N>       N must be a power of two. Align loops to the boundary
 | 
| 76 |   -faligned-allocation    Enable C++17 aligned allocation functions
 | 
| 77 |   -fallow-editor-placeholders
 | 
| 78 |                           Treat editor placeholders as valid source code
 | 
| 79 |   -faltivec-src-compat=<value>
 | 
| 80 |                           Source-level compatibility for Altivec vectors (for PowerPC targets). This includes results of vector comparison (scalar for 'xl', vector for 'gcc') as well as behavior when initializing with a scalar (splatting for 'xl', element zero only for 'gcc'). For 'mixed', the compatibility is as 'gcc' for 'vector bool/vector pixel' and as 'xl' for other types. Current default is 'mixed'.
 | 
| 81 |   -fansi-escape-codes     Use ANSI escape codes for diagnostics
 | 
| 82 |   -fapple-kext            Use Apple's kernel extensions ABI
 | 
| 83 |   -fapple-link-rtlib      Force linking the clang builtins runtime library
 | 
| 84 |   -fapple-pragma-pack     Enable Apple gcc-compatible #pragma pack handling
 | 
| 85 |   -fapplication-extension Restrict code to those available for App Extensions
 | 
| 86 |   -fapprox-func           Allow certain math function calls to be replaced with an approximately equivalent calculation
 | 
| 87 |   -fasync-exceptions      Enable EH Asynchronous exceptions
 | 
| 88 |   -fbasic-block-sections=<value>
 | 
| 89 |                           Place each function's basic blocks in unique sections (ELF Only) : all | labels | none | list=<file>
 | 
| 90 |   -fbinutils-version=<major.minor>
 | 
| 91 |                           Produced object files can use all ELF features supported by this binutils version and newer. If -fno-integrated-as is specified, the generated assembly will consider GNU as support. 'none' means that all ELF features can be used, regardless of binutils support. Defaults to 2.26.
 | 
| 92 |   -fblocks                Enable the 'blocks' language feature
 | 
| 93 |   -fborland-extensions    Accept non-standard constructs supported by the Borland compiler
 | 
| 94 |   -fbuild-session-file=<file>
 | 
| 95 |                           Use the last modification time of <file> as the build session timestamp
 | 
| 96 |   -fbuild-session-timestamp=<time since Epoch in seconds>
 | 
| 97 |                           Time when the current build session started
 | 
| 98 |   -fbuiltin-module-map    Load the clang builtins module map file.
 | 
| 99 |   -fc++-abi=<value>       C++ ABI to use. This will override the target C++ ABI.
 | 
| 100 |   -fcall-saved-x10        Make the x10 register call-saved (AArch64 only)
 | 
| 101 |   -fcall-saved-x11        Make the x11 register call-saved (AArch64 only)
 | 
| 102 |   -fcall-saved-x12        Make the x12 register call-saved (AArch64 only)
 | 
| 103 |   -fcall-saved-x13        Make the x13 register call-saved (AArch64 only)
 | 
| 104 |   -fcall-saved-x14        Make the x14 register call-saved (AArch64 only)
 | 
| 105 |   -fcall-saved-x15        Make the x15 register call-saved (AArch64 only)
 | 
| 106 |   -fcall-saved-x18        Make the x18 register call-saved (AArch64 only)
 | 
| 107 |   -fcall-saved-x8         Make the x8 register call-saved (AArch64 only)
 | 
| 108 |   -fcall-saved-x9         Make the x9 register call-saved (AArch64 only)
 | 
| 109 |   -fcf-protection=<value> Instrument control-flow architecture protection. Options: return, branch, full, none.
 | 
| 110 |   -fcf-protection         Enable cf-protection in 'full' mode
 | 
| 111 |   -fchar8_t               Enable C++ builtin type char8_t
 | 
| 112 |   -fclang-abi-compat=<version>
 | 
| 113 |                           Attempt to match the ABI of Clang <version>
 | 
| 114 |   -fcolor-diagnostics     Enable colors in diagnostics
 | 
| 115 |   -fcomment-block-commands=<arg>
 | 
| 116 |                           Treat each comma separated argument in <arg> as a documentation comment block command
 | 
| 117 |   -fcommon                Place uninitialized global variables in a common block
 | 
| 118 |   -fcomplete-member-pointers
 | 
| 119 |                           Require member pointer base types to be complete if they would be significant under the Microsoft ABI
 | 
| 120 |   -fconvergent-functions  Assume functions may be convergent
 | 
| 121 |   -fcoroutines-ts         Enable support for the C++ Coroutines TS
 | 
| 122 |   -fcoverage-compilation-dir=<value>
 | 
| 123 |                           The compilation directory to embed in the coverage mapping.
 | 
| 124 |   -fcoverage-mapping      Generate coverage mapping to enable code coverage analysis
 | 
| 125 |   -fcoverage-prefix-map=<value>
 | 
| 126 |                           remap file source paths in coverage mapping
 | 
| 127 |   -fcrash-diagnostics-dir=<dir>
 | 
| 128 |                           Put crash-report files in <dir>
 | 
| 129 |   -fcs-profile-generate=<directory>
 | 
| 130 |                           Generate instrumented code to collect context sensitive execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)
 | 
| 131 |   -fcs-profile-generate   Generate instrumented code to collect context sensitive execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)
 | 
| 132 |   -fcuda-approx-transcendentals
 | 
| 133 |                           Use approximate transcendental functions
 | 
| 134 |   -fcuda-short-ptr        Use 32-bit pointers for accessing const/local/shared address spaces
 | 
| 135 |   -fcxx-exceptions        Enable C++ exceptions
 | 
| 136 |   -fcxx-modules           Enable modules for C++
 | 
| 137 |   -fdata-sections         Place each data in its own section
 | 
| 138 |   -fdebug-compilation-dir=<value>
 | 
| 139 |                           The compilation directory to embed in the debug info
 | 
| 140 |   -fdebug-default-version=<value>
 | 
| 141 |                           Default DWARF version to use, if a -g option caused DWARF debug info to be produced
 | 
| 142 |   -fdebug-info-for-profiling
 | 
| 143 |                           Emit extra debug info to make sample profile more accurate
 | 
| 144 |   -fdebug-macro           Emit macro debug information
 | 
| 145 |   -fdebug-prefix-map=<value>
 | 
| 146 |                           remap file source paths in debug info
 | 
| 147 |   -fdebug-ranges-base-address
 | 
| 148 |                           Use DWARF base address selection entries in .debug_ranges
 | 
| 149 |   -fdebug-types-section   Place debug types in their own section (ELF Only)
 | 
| 150 |   -fdeclspec              Allow __declspec as a keyword
 | 
| 151 |   -fdelayed-template-parsing
 | 
| 152 |                           Parse templated function definitions at the end of the translation unit
 | 
| 153 |   -fdelete-null-pointer-checks
 | 
| 154 |                           Treat usage of null pointers as undefined behavior (default)
 | 
| 155 |   -fdiagnostics-absolute-paths
 | 
| 156 |                           Print absolute paths in diagnostics
 | 
| 157 |   -fdiagnostics-hotness-threshold=<value>
 | 
| 158 |                           Prevent optimization remarks from being output if they do not have at least this profile count. Use 'auto' to apply the threshold from profile summary
 | 
| 159 |   -fdiagnostics-parseable-fixits
 | 
| 160 |                           Print fix-its in machine parseable form
 | 
| 161 |   -fdiagnostics-print-source-range-info
 | 
| 162 |                           Print source range spans in numeric form
 | 
| 163 |   -fdiagnostics-show-hotness
 | 
| 164 |                           Enable profile hotness information in diagnostic line
 | 
| 165 |   -fdiagnostics-show-note-include-stack
 | 
| 166 |                           Display include stacks for diagnostic notes
 | 
| 167 |   -fdiagnostics-show-option
 | 
| 168 |                           Print option name with mappable diagnostics
 | 
| 169 |   -fdiagnostics-show-template-tree
 | 
| 170 |                           Print a template comparison tree for differing templates
 | 
| 171 |   -fdigraphs              Enable alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' (default)
 | 
| 172 |   -fdirect-access-external-data
 | 
| 173 |                           Don't use GOT indirection to reference external data symbols
 | 
| 174 |   -fdiscard-value-names   Discard value names in LLVM IR
 | 
| 175 |   -fdollars-in-identifiers
 | 
| 176 |                           Allow '$' in identifiers
 | 
| 177 |   -fdouble-square-bracket-attributes
 | 
| 178 |                           Enable '[[]]' attributes in all C and C++ language modes
 | 
| 179 |   -fdwarf-exceptions      Use DWARF style exceptions
 | 
| 180 |   -feliminate-unused-debug-types
 | 
| 181 |                           Do not emit  debug info for defined but unused types
 | 
| 182 |   -fembed-bitcode-marker  Embed placeholder LLVM IR data as a marker
 | 
| 183 |   -fembed-bitcode=<option>
 | 
| 184 |                           Embed LLVM bitcode (option: off, all, bitcode, marker)
 | 
| 185 |   -fembed-bitcode         Embed LLVM IR bitcode as data
 | 
| 186 |   -fembed-offload-object=<value>
 | 
| 187 |                           Embed Offloading device-side binary into host object file as a section.
 | 
| 188 |   -femit-all-decls        Emit all declarations, even if unused
 | 
| 189 |   -femulated-tls          Use emutls functions to access thread_local variables
 | 
| 190 |   -fenable-matrix         Enable matrix data type and related builtin functions
 | 
| 191 |   -fexceptions            Enable support for exception handling
 | 
| 192 |   -fexperimental-new-constant-interpreter
 | 
| 193 |                           Enable the experimental new constant interpreter
 | 
| 194 |   -fexperimental-relative-c++-abi-vtables
 | 
| 195 |                           Use the experimental C++ class ABI for classes with virtual tables
 | 
| 196 |   -fexperimental-strict-floating-point
 | 
| 197 |                           Enables experimental strict floating point in LLVM.
 | 
| 198 |   -fextend-arguments=<value>
 | 
| 199 |                           Controls how scalar integer arguments are extended in calls to unprototyped and varargs functions
 | 
| 200 |   -ffast-math             Allow aggressive, lossy floating-point optimizations
 | 
| 201 |   -ffile-compilation-dir=<value>
 | 
| 202 |                           The compilation directory to embed in the debug info and coverage mapping.
 | 
| 203 |   -ffile-prefix-map=<value>
 | 
| 204 |                           remap file source paths in debug info, predefined preprocessor macros and __builtin_FILE()
 | 
| 205 |   -ffine-grained-bitfield-accesses
 | 
| 206 |                           Use separate accesses for consecutive bitfield runs with legal widths and alignments.
 | 
| 207 |   -ffinite-loops          Assume all loops are finite.
 | 
| 208 |   -ffixed-a0              Reserve the a0 register (M68k only)
 | 
| 209 |   -ffixed-a1              Reserve the a1 register (M68k only)
 | 
| 210 |   -ffixed-a2              Reserve the a2 register (M68k only)
 | 
| 211 |   -ffixed-a3              Reserve the a3 register (M68k only)
 | 
| 212 |   -ffixed-a4              Reserve the a4 register (M68k only)
 | 
| 213 |   -ffixed-a5              Reserve the a5 register (M68k only)
 | 
| 214 |   -ffixed-a6              Reserve the a6 register (M68k only)
 | 
| 215 |   -ffixed-d0              Reserve the d0 register (M68k only)
 | 
| 216 |   -ffixed-d1              Reserve the d1 register (M68k only)
 | 
| 217 |   -ffixed-d2              Reserve the d2 register (M68k only)
 | 
| 218 |   -ffixed-d3              Reserve the d3 register (M68k only)
 | 
| 219 |   -ffixed-d4              Reserve the d4 register (M68k only)
 | 
| 220 |   -ffixed-d5              Reserve the d5 register (M68k only)
 | 
| 221 |   -ffixed-d6              Reserve the d6 register (M68k only)
 | 
| 222 |   -ffixed-d7              Reserve the d7 register (M68k only)
 | 
| 223 |   -ffixed-point           Enable fixed point types
 | 
| 224 |   -ffixed-r19             Reserve register r19 (Hexagon only)
 | 
| 225 |   -ffixed-r9              Reserve the r9 register (ARM only)
 | 
| 226 |   -ffixed-x10             Reserve the x10 register (AArch64/RISC-V only)
 | 
| 227 |   -ffixed-x11             Reserve the x11 register (AArch64/RISC-V only)
 | 
| 228 |   -ffixed-x12             Reserve the x12 register (AArch64/RISC-V only)
 | 
| 229 |   -ffixed-x13             Reserve the x13 register (AArch64/RISC-V only)
 | 
| 230 |   -ffixed-x14             Reserve the x14 register (AArch64/RISC-V only)
 | 
| 231 |   -ffixed-x15             Reserve the x15 register (AArch64/RISC-V only)
 | 
| 232 |   -ffixed-x16             Reserve the x16 register (AArch64/RISC-V only)
 | 
| 233 |   -ffixed-x17             Reserve the x17 register (AArch64/RISC-V only)
 | 
| 234 |   -ffixed-x18             Reserve the x18 register (AArch64/RISC-V only)
 | 
| 235 |   -ffixed-x19             Reserve the x19 register (AArch64/RISC-V only)
 | 
| 236 |   -ffixed-x1              Reserve the x1 register (AArch64/RISC-V only)
 | 
| 237 |   -ffixed-x20             Reserve the x20 register (AArch64/RISC-V only)
 | 
| 238 |   -ffixed-x21             Reserve the x21 register (AArch64/RISC-V only)
 | 
| 239 |   -ffixed-x22             Reserve the x22 register (AArch64/RISC-V only)
 | 
| 240 |   -ffixed-x23             Reserve the x23 register (AArch64/RISC-V only)
 | 
| 241 |   -ffixed-x24             Reserve the x24 register (AArch64/RISC-V only)
 | 
| 242 |   -ffixed-x25             Reserve the x25 register (AArch64/RISC-V only)
 | 
| 243 |   -ffixed-x26             Reserve the x26 register (AArch64/RISC-V only)
 | 
| 244 |   -ffixed-x27             Reserve the x27 register (AArch64/RISC-V only)
 | 
| 245 |   -ffixed-x28             Reserve the x28 register (AArch64/RISC-V only)
 | 
| 246 |   -ffixed-x29             Reserve the x29 register (AArch64/RISC-V only)
 | 
| 247 |   -ffixed-x2              Reserve the x2 register (AArch64/RISC-V only)
 | 
| 248 |   -ffixed-x30             Reserve the x30 register (AArch64/RISC-V only)
 | 
| 249 |   -ffixed-x31             Reserve the x31 register (AArch64/RISC-V only)
 | 
| 250 |   -ffixed-x3              Reserve the x3 register (AArch64/RISC-V only)
 | 
| 251 |   -ffixed-x4              Reserve the x4 register (AArch64/RISC-V only)
 | 
| 252 |   -ffixed-x5              Reserve the x5 register (AArch64/RISC-V only)
 | 
| 253 |   -ffixed-x6              Reserve the x6 register (AArch64/RISC-V only)
 | 
| 254 |   -ffixed-x7              Reserve the x7 register (AArch64/RISC-V only)
 | 
| 255 |   -ffixed-x8              Reserve the x8 register (AArch64/RISC-V only)
 | 
| 256 |   -ffixed-x9              Reserve the x9 register (AArch64/RISC-V only)
 | 
| 257 |   -fforce-dwarf-frame     Always emit a debug frame section
 | 
| 258 |   -fforce-emit-vtables    Emits more virtual tables to improve devirtualization
 | 
| 259 |   -fforce-enable-int128   Enable support for int128_t type
 | 
| 260 |   -ffp-contract=<value>   Form fused FP ops (e.g. FMAs): fast (fuses across statements disregarding pragmas) | on (only fuses in the same statement unless dictated by pragmas) | off (never fuses) | fast-honor-pragmas (fuses across statements unless diectated by pragmas). Default is 'fast' for CUDA, 'fast-honor-pragmas' for HIP, and 'on' otherwise.
 | 
| 261 |   -ffp-exception-behavior=<value>
 | 
| 262 |                           Specifies the exception behavior of floating-point operations.
 | 
| 263 |   -ffp-model=<value>      Controls the semantics of floating-point calculations.
 | 
| 264 |   -ffreestanding          Assert that the compilation takes place in a freestanding environment
 | 
| 265 |   -ffuchsia-api-level=<value>
 | 
| 266 |                           Set Fuchsia API level
 | 
| 267 |   -ffunction-sections     Place each function in its own section
 | 
| 268 |   -fglobal-isel           Enables the global instruction selector
 | 
| 269 |   -fgnu-keywords          Allow GNU-extension keywords regardless of language standard
 | 
| 270 |   -fgnu-runtime           Generate output compatible with the standard GNU Objective-C runtime
 | 
| 271 |   -fgnu89-inline          Use the gnu89 inline semantics
 | 
| 272 |   -fgnuc-version=<value>  Sets various macros to claim compatibility with the given GCC version (default is 4.2.1)
 | 
| 273 |   -fgpu-allow-device-init Allow device side init function in HIP (experimental)
 | 
| 274 |   -fgpu-defer-diag        Defer host/device related diagnostic messages for CUDA/HIP
 | 
| 275 |   -fgpu-flush-denormals-to-zero
 | 
| 276 |                           Flush denormal floating point values to zero in CUDA/HIP device mode.
 | 
| 277 |   -fgpu-rdc               Generate relocatable device code, also known as separate compilation mode
 | 
| 278 |   -fgpu-sanitize          Enable sanitizer for AMDGPU target
 | 
| 279 |   -fhip-fp32-correctly-rounded-divide-sqrt
 | 
| 280 |                           Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)
 | 
| 281 |   -fhip-new-launch-api    Use new kernel launching API for HIP
 | 
| 282 |   -fignore-exceptions     Enable support for ignoring exception handling constructs
 | 
| 283 |   -fimplicit-module-maps  Implicitly search the file system for module map files.
 | 
| 284 |   -finline-functions      Inline suitable functions
 | 
| 285 |   -finline-hint-functions Inline functions which are (explicitly or implicitly) marked inline
 | 
| 286 |   -finput-charset=<value> Specify the default character set for source files
 | 
| 287 |   -finstrument-function-entry-bare
 | 
| 288 |                           Instrument function entry only, after inlining, without arguments to the instrumentation call
 | 
| 289 |   -finstrument-functions-after-inlining
 | 
| 290 |                           Like -finstrument-functions, but insert the calls after inlining
 | 
| 291 |   -finstrument-functions  Generate calls to instrument function entry and exit
 | 
| 292 |   -fintegrated-as         Enable the integrated assembler
 | 
| 293 |   -fintegrated-cc1        Run cc1 in-process
 | 
| 294 |   -fjump-tables           Use jump tables for lowering switches
 | 
| 295 |   -fkeep-static-consts    Keep static const variables if unused
 | 
| 296 |   -flax-vector-conversions=<value>
 | 
| 297 |                           Enable implicit vector bit-casts
 | 
| 298 |   -flegacy-pass-manager   Use the legacy pass manager in LLVM (deprecated, to be removed in a future release)
 | 
| 299 |   -flto-jobs=<value>      Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected)
 | 
| 300 |   -flto=auto              Enable LTO in 'full' mode
 | 
| 301 |   -flto=jobserver         Enable LTO in 'full' mode
 | 
| 302 |   -flto=<value>           Set LTO mode to either 'full' or 'thin'
 | 
| 303 |   -flto                   Enable LTO in 'full' mode
 | 
| 304 |   -fmacro-prefix-map=<value>
 | 
| 305 |                           remap file source paths in predefined preprocessor macros and __builtin_FILE()
 | 
| 306 |   -fmath-errno            Require math functions to indicate errors by setting errno
 | 
| 307 |   -fmax-tokens=<value>    Max total number of preprocessed tokens for -Wmax-tokens.
 | 
| 308 |   -fmax-type-align=<value>
 | 
| 309 |                           Specify the maximum alignment to enforce on pointers lacking an explicit alignment
 | 
| 310 |   -fmemory-profile=<directory>
 | 
| 311 |                           Enable heap memory profiling and dump results into <directory>
 | 
| 312 |   -fmemory-profile        Enable heap memory profiling
 | 
| 313 |   -fmerge-all-constants   Allow merging of constants
 | 
| 314 |   -fmessage-length=<value>
 | 
| 315 |                           Format message diagnostics so that they fit within N columns
 | 
| 316 |   -fminimize-whitespace   Minimize whitespace when emitting preprocessor output
 | 
| 317 |   -fmodule-file=[<name>=]<file>
 | 
| 318 |                           Specify the mapping of module name to precompiled module file, or load a module file if name is omitted.
 | 
| 319 |   -fmodule-map-file=<file>
 | 
| 320 |                           Load this module map file
 | 
| 321 |   -fmodule-name=<name>    Specify the name of the module to build
 | 
| 322 |   -fmodules-cache-path=<directory>
 | 
| 323 |                           Specify the module cache path
 | 
| 324 |   -fmodules-decluse       Require declaration of modules used within a module
 | 
| 325 |   -fmodules-disable-diagnostic-validation
 | 
| 326 |                           Disable validation of the diagnostic options when loading the module
 | 
| 327 |   -fmodules-ignore-macro=<value>
 | 
| 328 |                           Ignore the definition of the given macro when building and loading modules
 | 
| 329 |   -fmodules-prune-after=<seconds>
 | 
| 330 |                           Specify the interval (in seconds) after which a module file will be considered unused
 | 
| 331 |   -fmodules-prune-interval=<seconds>
 | 
| 332 |                           Specify the interval (in seconds) between attempts to prune the module cache
 | 
| 333 |   -fmodules-search-all    Search even non-imported modules to resolve references
 | 
| 334 |   -fmodules-strict-decluse
 | 
| 335 |                           Like -fmodules-decluse but requires all headers to be in modules
 | 
| 336 |   -fmodules-ts            Enable support for the C++ Modules TS
 | 
| 337 |   -fmodules-user-build-path <directory>
 | 
| 338 |                           Specify the module user build path
 | 
| 339 |   -fmodules-validate-input-files-content
 | 
| 340 |                           Validate PCM input files based on content if mtime differs
 | 
| 341 |   -fmodules-validate-once-per-build-session
 | 
| 342 |                           Don't verify input files for the modules if the module has been successfully validated or loaded during this build session
 | 
| 343 |   -fmodules-validate-system-headers
 | 
| 344 |                           Validate the system headers that a module depends on when loading the module
 | 
| 345 |   -fmodules               Enable the 'modules' language feature
 | 
| 346 |   -fms-compatibility-version=<value>
 | 
| 347 |                           Dot-separated value representing the Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))
 | 
| 348 |   -fms-compatibility      Enable full Microsoft Visual C++ compatibility
 | 
| 349 |   -fms-extensions         Accept some non-standard constructs supported by the Microsoft compiler
 | 
| 350 |   -fms-hotpatch           Ensure that all functions can be hotpatched at runtime
 | 
| 351 |   -fmsc-version=<value>   Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))
 | 
| 352 |   -fnew-alignment=<align> Specifies the largest alignment guaranteed by '::operator new(size_t)'
 | 
| 353 |   -fnew-infallible        Enable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.
 | 
| 354 |   -fno-aapcs-bitfield-width
 | 
| 355 |                           Do not follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).
 | 
| 356 |   -fno-access-control     Disable C++ access control
 | 
| 357 |   -fno-addrsig            Don't emit an address-significance table
 | 
| 358 |   -fno-assume-sane-operator-new
 | 
| 359 |                           Don't assume that C++'s global operator new can't alias any pointer
 | 
| 360 |   -fno-autolink           Disable generation of linker directives for automatic library linking
 | 
| 361 |   -fno-builtin-<value>    Disable implicit builtin knowledge of a specific function
 | 
| 362 |   -fno-builtin            Disable implicit builtin knowledge of functions
 | 
| 363 |   -fno-c++-static-destructors
 | 
| 364 |                           Disable C++ static destructor registration
 | 
| 365 |   -fno-char8_t            Disable C++ builtin type char8_t
 | 
| 366 |   -fno-color-diagnostics  Disable colors in diagnostics
 | 
| 367 |   -fno-common             Compile common globals like normal definitions
 | 
| 368 |   -fno-complete-member-pointers
 | 
| 369 |                           Do not require member pointer base types to be complete if they would be significant under the Microsoft ABI
 | 
| 370 |   -fno-constant-cfstrings Disable creation of CodeFoundation-type constant strings
 | 
| 371 |   -fno-coverage-mapping   Disable code coverage analysis
 | 
| 372 |   -fno-crash-diagnostics  Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash
 | 
| 373 |   -fno-cuda-approx-transcendentals
 | 
| 374 |                           Don't use approximate transcendental functions
 | 
| 375 |   -fno-cxx-modules        Disable modules for C++
 | 
| 376 |   -fno-debug-macro        Do not emit macro debug information
 | 
| 377 |   -fno-declspec           Disallow __declspec as a keyword
 | 
| 378 |   -fno-delayed-template-parsing
 | 
| 379 |                           Disable delayed template parsing
 | 
| 380 |   -fno-delete-null-pointer-checks
 | 
| 381 |                           Do not treat usage of null pointers as undefined behavior
 | 
| 382 |   -fno-diagnostics-fixit-info
 | 
| 383 |                           Do not include fixit information in diagnostics
 | 
| 384 |   -fno-digraphs           Disallow alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:'
 | 
| 385 |   -fno-direct-access-external-data
 | 
| 386 |                           Use GOT indirection to reference external data symbols
 | 
| 387 |   -fno-discard-value-names
 | 
| 388 |                           Do not discard value names in LLVM IR
 | 
| 389 |   -fno-dollars-in-identifiers
 | 
| 390 |                           Disallow '$' in identifiers
 | 
| 391 |   -fno-double-square-bracket-attributes
 | 
| 392 |                           Disable '[[]]' attributes in all C and C++ language modes
 | 
| 393 |   -fno-elide-constructors Disable C++ copy constructor elision
 | 
| 394 |   -fno-elide-type         Do not elide types when printing diagnostics
 | 
| 395 |   -fno-eliminate-unused-debug-types
 | 
| 396 |                           Emit  debug info for defined but unused types
 | 
| 397 |   -fno-exceptions         Disable support for exception handling
 | 
| 398 |   -fno-experimental-relative-c++-abi-vtables
 | 
| 399 |                           Do not use the experimental C++ class ABI for classes with virtual tables
 | 
| 400 |   -fno-fine-grained-bitfield-accesses
 | 
| 401 |                           Use large-integer access for consecutive bitfield runs.
 | 
| 402 |   -fno-finite-loops       Do not assume that any loop is finite.
 | 
| 403 |   -fno-fixed-point        Disable fixed point types
 | 
| 404 |   -fno-force-enable-int128
 | 
| 405 |                           Disable support for int128_t type
 | 
| 406 |   -fno-global-isel        Disables the global instruction selector
 | 
| 407 |   -fno-gnu-inline-asm     Disable GNU style inline asm
 | 
| 408 |   -fno-gpu-allow-device-init
 | 
| 409 |                           Don't allow device side init function in HIP (experimental)
 | 
| 410 |   -fno-gpu-defer-diag     Don't defer host/device related diagnostic messages for CUDA/HIP
 | 
| 411 |   -fno-hip-fp32-correctly-rounded-divide-sqrt
 | 
| 412 |                           Don't specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)
 | 
| 413 |   -fno-hip-new-launch-api Don't use new kernel launching API for HIP
 | 
| 414 |   -fno-integrated-as      Disable the integrated assembler
 | 
| 415 |   -fno-integrated-cc1     Spawn a separate process for each cc1
 | 
| 416 |   -fno-jump-tables        Do not use jump tables for lowering switches
 | 
| 417 |   -fno-keep-static-consts Don't keep static const variables if unused
 | 
| 418 |   -fno-legacy-pass-manager
 | 
| 419 |                           Use the new pass manager in LLVM
 | 
| 420 |   -fno-lto                Disable LTO mode (default)
 | 
| 421 |   -fno-memory-profile     Disable heap memory profiling
 | 
| 422 |   -fno-merge-all-constants
 | 
| 423 |                           Disallow merging of constants
 | 
| 424 |   -fno-new-infallible     Disable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.
 | 
| 425 |   -fno-objc-infer-related-result-type
 | 
| 426 |                           do not infer Objective-C related result type based on method family
 | 
| 427 |   -fno-offload-lto        Disable LTO mode (default) for offload compilation
 | 
| 428 |   -fno-openmp-extensions  Disable all Clang extensions for OpenMP directives and clauses
 | 
| 429 |   -fno-operator-names     Do not treat C++ operator name keywords as synonyms for operators
 | 
| 430 |   -fno-pch-codegen        Do not generate code for uses of this PCH that assumes an explicit object file will be built for the PCH
 | 
| 431 |   -fno-pch-debuginfo      Do not generate debug info for types in an object file built from this PCH and do not generate them elsewhere
 | 
| 432 |   -fno-plt                Use GOT indirection instead of PLT to make external function calls (x86 only)
 | 
| 433 |   -fno-preserve-as-comments
 | 
| 434 |                           Do not preserve comments in inline assembly
 | 
| 435 |   -fno-profile-generate   Disable generation of profile instrumentation.
 | 
| 436 |   -fno-profile-instr-generate
 | 
| 437 |                           Disable generation of profile instrumentation.
 | 
| 438 |   -fno-profile-instr-use  Disable using instrumentation data for profile-guided optimization
 | 
| 439 |   -fno-pseudo-probe-for-profiling
 | 
| 440 |                           Do not emit pseudo probes for sample profiling
 | 
| 441 |   -fno-register-global-dtors-with-atexit
 | 
| 442 |                           Don't use atexit or __cxa_atexit to register global destructors
 | 
| 443 |   -fno-rtlib-add-rpath    Do not add -rpath with architecture-specific resource directory to the linker flags
 | 
| 444 |   -fno-rtti-data          Disable generation of RTTI data
 | 
| 445 |   -fno-rtti               Disable generation of rtti information
 | 
| 446 |   -fno-sanitize-address-outline-instrumentation
 | 
| 447 |                           Use default code inlining logic for the address sanitizer
 | 
| 448 |   -fno-sanitize-address-poison-custom-array-cookie
 | 
| 449 |                           Disable poisoning array cookies when using custom operator new[] in AddressSanitizer
 | 
| 450 |   -fno-sanitize-address-use-after-scope
 | 
| 451 |                           Disable use-after-scope detection in AddressSanitizer
 | 
| 452 |   -fno-sanitize-address-use-odr-indicator
 | 
| 453 |                           Disable ODR indicator globals
 | 
| 454 |   -fno-sanitize-cfi-canonical-jump-tables
 | 
| 455 |                           Do not make the jump table addresses canonical in the symbol table
 | 
| 456 |   -fno-sanitize-cfi-cross-dso
 | 
| 457 |                           Disable control flow integrity (CFI) checks for cross-DSO calls.
 | 
| 458 |   -fno-sanitize-coverage=<value>
 | 
| 459 |                           Disable features of coverage instrumentation for Sanitizers
 | 
| 460 |   -fno-sanitize-hwaddress-experimental-aliasing
 | 
| 461 |                           Disable aliasing mode in HWAddressSanitizer
 | 
| 462 |   -fno-sanitize-ignorelist
 | 
| 463 |                           Don't use ignorelist file for sanitizers
 | 
| 464 |   -fno-sanitize-memory-param-retval
 | 
| 465 |                           Disable detection of uninitialized parameters and return values
 | 
| 466 |   -fno-sanitize-memory-track-origins
 | 
| 467 |                           Disable origins tracking in MemorySanitizer
 | 
| 468 |   -fno-sanitize-memory-use-after-dtor
 | 
| 469 |                           Disable use-after-destroy detection in MemorySanitizer
 | 
| 470 |   -fno-sanitize-recover=<value>
 | 
| 471 |                           Disable recovery for specified sanitizers
 | 
| 472 |   -fno-sanitize-stats     Disable sanitizer statistics gathering.
 | 
| 473 |   -fno-sanitize-thread-atomics
 | 
| 474 |                           Disable atomic operations instrumentation in ThreadSanitizer
 | 
| 475 |   -fno-sanitize-thread-func-entry-exit
 | 
| 476 |                           Disable function entry/exit instrumentation in ThreadSanitizer
 | 
| 477 |   -fno-sanitize-thread-memory-access
 | 
| 478 |                           Disable memory access instrumentation in ThreadSanitizer
 | 
| 479 |   -fno-sanitize-trap=<value>
 | 
| 480 |                           Disable trapping for specified sanitizers
 | 
| 481 |   -fno-sanitize-trap      Disable trapping for all sanitizers
 | 
| 482 |   -fno-short-wchar        Force wchar_t to be an unsigned int
 | 
| 483 |   -fno-show-column        Do not include column number on diagnostics
 | 
| 484 |   -fno-show-source-location
 | 
| 485 |                           Do not include source location information with diagnostics
 | 
| 486 |   -fno-signed-char        char is unsigned
 | 
| 487 |   -fno-signed-zeros       Allow optimizations that ignore the sign of floating point zeros
 | 
| 488 |   -fno-spell-checking     Disable spell-checking
 | 
| 489 |   -fno-split-machine-functions
 | 
| 490 |                           Disable late function splitting using profile information (x86 ELF)
 | 
| 491 |   -fno-split-stack        Wouldn't use segmented stack
 | 
| 492 |   -fno-stack-clash-protection
 | 
| 493 |                           Disable stack clash protection
 | 
| 494 |   -fno-stack-protector    Disable the use of stack protectors
 | 
| 495 |   -fno-standalone-debug   Limit debug information produced to reduce size of debug binary
 | 
| 496 |   -fno-strict-float-cast-overflow
 | 
| 497 |                           Relax language rules and try to match the behavior of the target's native float-to-int conversion instructions
 | 
| 498 |   -fno-strict-return      Don't treat control flow paths that fall off the end of a non-void function as unreachable
 | 
| 499 |   -fno-sycl               Disables SYCL kernels compilation for device
 | 
| 500 |   -fno-temp-file          Directly create compilation output files. This may lead to incorrect incremental builds if the compiler crashes
 | 
| 501 |   -fno-threadsafe-statics Do not emit code to make initialization of local statics thread safe
 | 
| 502 |   -fno-trigraphs          Do not process trigraph sequences
 | 
| 503 |   -fno-unique-section-names
 | 
| 504 |                           Don't use unique names for text and data sections
 | 
| 505 |   -fno-unroll-loops       Turn off loop unroller
 | 
| 506 |   -fno-use-cxa-atexit     Don't use __cxa_atexit for calling destructors
 | 
| 507 |   -fno-use-init-array     Use .ctors/.dtors instead of .init_array/.fini_array
 | 
| 508 |   -fno-visibility-inlines-hidden-static-local-var
 | 
| 509 |                           Disables -fvisibility-inlines-hidden-static-local-var (this is the default on non-darwin targets)
 | 
| 510 |   -fno-xray-function-index
 | 
| 511 |                           Omit function index section at the expense of single-function patching performance
 | 
| 512 |   -fno-zero-initialized-in-bss
 | 
| 513 |                           Don't place zero initialized data in BSS
 | 
| 514 |   -fobjc-arc-exceptions   Use EH-safe code when synthesizing retains and releases in -fobjc-arc
 | 
| 515 |   -fobjc-arc              Synthesize retain and release calls for Objective-C pointers
 | 
| 516 |   -fobjc-disable-direct-methods-for-testing
 | 
| 517 |                           Ignore attribute objc_direct so that direct methods can be tested
 | 
| 518 |   -fobjc-encode-cxx-class-template-spec
 | 
| 519 |                           Fully encode c++ class template specialization
 | 
| 520 |   -fobjc-exceptions       Enable Objective-C exceptions
 | 
| 521 |   -fobjc-runtime=<value>  Specify the target Objective-C runtime kind and version
 | 
| 522 |   -fobjc-weak             Enable ARC-style weak references in Objective-C
 | 
| 523 |   -foffload-lto=<value>   Set LTO mode to either 'full' or 'thin' for offload compilation
 | 
| 524 |   -foffload-lto           Enable LTO in 'full' mode for offload compilation
 | 
| 525 |   -fopenmp-extensions     Enable all Clang extensions for OpenMP directives and clauses
 | 
| 526 |   -fopenmp-implicit-rpath Set rpath on OpenMP executables
 | 
| 527 |   -fopenmp-new-driver     Use the new driver for OpenMP offloading.
 | 
| 528 |   -fopenmp-simd           Emit OpenMP code only for SIMD-based constructs.
 | 
| 529 |   -fopenmp-target-debug   Enable debugging in the OpenMP offloading device RTL
 | 
| 530 |   -fopenmp-target-new-runtime
 | 
| 531 |                           Use the new bitcode library for OpenMP offloading
 | 
| 532 |   -fopenmp-targets=<value>
 | 
| 533 |                           Specify comma-separated list of triples OpenMP offloading targets to be supported
 | 
| 534 |   -fopenmp-version=<value>
 | 
| 535 |                           Set OpenMP version (e.g. 45 for OpenMP 4.5, 50 for OpenMP 5.0). Default value is 50.
 | 
| 536 |   -fopenmp                Parse OpenMP pragmas and generate parallel code.
 | 
| 537 |   -foptimization-record-file=<file>
 | 
| 538 |                           Specify the output name of the file containing the optimization remarks. Implies -fsave-optimization-record. On Darwin platforms, this cannot be used with multiple -arch <arch> options.
 | 
| 539 |   -foptimization-record-passes=<regex>
 | 
| 540 |                           Only include passes which match a specified regular expression in the generated optimization record (by default, include all passes)
 | 
| 541 |   -forder-file-instrumentation
 | 
| 542 |                           Generate instrumented code to collect order file into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)
 | 
| 543 |   -fpack-struct=<value>   Specify the default maximum struct packing alignment
 | 
| 544 |   -fpascal-strings        Recognize and construct Pascal-style string literals
 | 
| 545 |   -fpass-plugin=<dsopath> Load pass plugin from a dynamic shared object file (only with new pass manager).
 | 
| 546 |   -fpatchable-function-entry=<N,M>
 | 
| 547 |                           Generate M NOPs before function entry and N-M NOPs after function entry
 | 
| 548 |   -fpcc-struct-return     Override the default ABI to return all structs on the stack
 | 
| 549 |   -fpch-codegen           Generate code for uses of this PCH that assumes an explicit object file will be built for the PCH
 | 
| 550 |   -fpch-debuginfo         Generate debug info for types in an object file built from this PCH and do not generate them elsewhere
 | 
| 551 |   -fpch-instantiate-templates
 | 
| 552 |                           Instantiate templates already while building a PCH
 | 
| 553 |   -fpch-validate-input-files-content
 | 
| 554 |                           Validate PCH input files based on content if mtime differs
 | 
| 555 |   -fplugin-arg-<name>-<arg>
 | 
| 556 |                           Pass <arg> to plugin <name>
 | 
| 557 |   -fplugin=<dsopath>      Load the named plugin (dynamic shared object)
 | 
| 558 |   -fprebuilt-implicit-modules
 | 
| 559 |                           Look up implicit modules in the prebuilt module path
 | 
| 560 |   -fprebuilt-module-path=<directory>
 | 
| 561 |                           Specify the prebuilt module path
 | 
| 562 |   -fproc-stat-report=<value>
 | 
| 563 |                           Save subprocess statistics to the given file
 | 
| 564 |   -fproc-stat-report<value>
 | 
| 565 |                           Print subprocess statistics
 | 
| 566 |   -fprofile-exclude-files=<value>
 | 
| 567 |                           Instrument only functions from files where names don't match all the regexes separated by a semi-colon
 | 
| 568 |   -fprofile-filter-files=<value>
 | 
| 569 |                           Instrument only functions from files where names match any regex separated by a semi-colon
 | 
| 570 |   -fprofile-generate=<directory>
 | 
| 571 |                           Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)
 | 
| 572 |   -fprofile-generate      Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)
 | 
| 573 |   -fprofile-instr-generate=<file>
 | 
| 574 |                           Generate instrumented code to collect execution counts into <file> (overridden by LLVM_PROFILE_FILE env var)
 | 
| 575 |   -fprofile-instr-generate
 | 
| 576 |                           Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)
 | 
| 577 |   -fprofile-instr-use=<value>
 | 
| 578 |                           Use instrumentation data for profile-guided optimization
 | 
| 579 |   -fprofile-list=<value>  Filename defining the list of functions/files to instrument
 | 
| 580 |   -fprofile-remapping-file=<file>
 | 
| 581 |                           Use the remappings described in <file> to match the profile data against names in the program
 | 
| 582 |   -fprofile-sample-accurate
 | 
| 583 |                           Specifies that the sample profile is accurate
 | 
| 584 |   -fprofile-sample-use=<value>
 | 
| 585 |                           Enable sample-based profile guided optimizations
 | 
| 586 |   -fprofile-update=<method>
 | 
| 587 |                           Set update method of profile counters (atomic,prefer-atomic,single)
 | 
| 588 |   -fprofile-use=<pathname>
 | 
| 589 |                           Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>.
 | 
| 590 |   -fprotect-parens        Determines whether the optimizer honors parentheses when floating-point expressions are evaluated
 | 
| 591 |   -fpseudo-probe-for-profiling
 | 
| 592 |                           Emit pseudo probes for sample profiling
 | 
| 593 |   -freciprocal-math       Allow division operations to be reassociated
 | 
| 594 |   -freg-struct-return     Override the default ABI to return small structs in registers
 | 
| 595 |   -fregister-global-dtors-with-atexit
 | 
| 596 |                           Use atexit or __cxa_atexit to register global destructors
 | 
| 597 |   -frelaxed-template-template-args
 | 
| 598 |                           Enable C++17 relaxed template template argument matching
 | 
| 599 |   -freroll-loops          Turn on loop reroller
 | 
| 600 |   -fropi                  Generate read-only position independent code (ARM only)
 | 
| 601 |   -frtlib-add-rpath       Add -rpath with architecture-specific resource directory to the linker flags
 | 
| 602 |   -frwpi                  Generate read-write position independent code (ARM only)
 | 
| 603 |   -fsanitize-address-destructor=<value>
 | 
| 604 |                           Set destructor type used in ASan instrumentation
 | 
| 605 |   -fsanitize-address-field-padding=<value>
 | 
| 606 |                           Level of field padding for AddressSanitizer
 | 
| 607 |   -fsanitize-address-globals-dead-stripping
 | 
| 608 |                           Enable linker dead stripping of globals in AddressSanitizer
 | 
| 609 |   -fsanitize-address-outline-instrumentation
 | 
| 610 |                           Always generate function calls for address sanitizer instrumentation
 | 
| 611 |   -fsanitize-address-poison-custom-array-cookie
 | 
| 612 |                           Enable poisoning array cookies when using custom operator new[] in AddressSanitizer
 | 
| 613 |   -fsanitize-address-use-after-return=<mode>
 | 
| 614 |                           Select the mode of detecting stack use-after-return in AddressSanitizer: never | runtime (default) | always
 | 
| 615 |   -fsanitize-address-use-after-scope
 | 
| 616 |                           Enable use-after-scope detection in AddressSanitizer
 | 
| 617 |   -fsanitize-address-use-odr-indicator
 | 
| 618 |                           Enable ODR indicator globals to avoid false ODR violation reports in partially sanitized programs at the cost of an increase in binary size
 | 
| 619 |   -fsanitize-blacklist=<value>
 | 
| 620 |                           Alias for -fsanitize-ignorelist=
 | 
| 621 |   -fsanitize-cfi-canonical-jump-tables
 | 
| 622 |                           Make the jump table addresses canonical in the symbol table
 | 
| 623 |   -fsanitize-cfi-cross-dso
 | 
| 624 |                           Enable control flow integrity (CFI) checks for cross-DSO calls.
 | 
| 625 |   -fsanitize-cfi-icall-generalize-pointers
 | 
| 626 |                           Generalize pointers in CFI indirect call type signature checks
 | 
| 627 |   -fsanitize-coverage-allowlist=<value>
 | 
| 628 |                           Restrict sanitizer coverage instrumentation exclusively to modules and functions that match the provided special case list, except the blocked ones
 | 
| 629 |   -fsanitize-coverage-blacklist=<value>
 | 
| 630 |                           Deprecated, use -fsanitize-coverage-ignorelist= instead
 | 
| 631 |   -fsanitize-coverage-ignorelist=<value>
 | 
| 632 |                           Disable sanitizer coverage instrumentation for modules and functions that match the provided special case list, even the allowed ones
 | 
| 633 |   -fsanitize-coverage-whitelist=<value>
 | 
| 634 |                           Deprecated, use -fsanitize-coverage-allowlist= instead
 | 
| 635 |   -fsanitize-coverage=<value>
 | 
| 636 |                           Specify the type of coverage instrumentation for Sanitizers
 | 
| 637 |   -fsanitize-hwaddress-abi=<value>
 | 
| 638 |                           Select the HWAddressSanitizer ABI to target (interceptor or platform, default interceptor). This option is currently unused.
 | 
| 639 |   -fsanitize-hwaddress-experimental-aliasing
 | 
| 640 |                           Enable aliasing mode in HWAddressSanitizer
 | 
| 641 |   -fsanitize-ignorelist=<value>
 | 
| 642 |                           Path to ignorelist file for sanitizers
 | 
| 643 |   -fsanitize-memory-param-retval
 | 
| 644 |                           Enable detection of uninitialized parameters and return values
 | 
| 645 |   -fsanitize-memory-track-origins=<value>
 | 
| 646 |                           Enable origins tracking in MemorySanitizer
 | 
| 647 |   -fsanitize-memory-track-origins
 | 
| 648 |                           Enable origins tracking in MemorySanitizer
 | 
| 649 |   -fsanitize-memory-use-after-dtor
 | 
| 650 |                           Enable use-after-destroy detection in MemorySanitizer
 | 
| 651 |   -fsanitize-recover=<value>
 | 
| 652 |                           Enable recovery for specified sanitizers
 | 
| 653 |   -fsanitize-stats        Enable sanitizer statistics gathering.
 | 
| 654 |   -fsanitize-system-blacklist=<value>
 | 
| 655 |                           Alias for -fsanitize-system-ignorelist=
 | 
| 656 |   -fsanitize-system-ignorelist=<value>
 | 
| 657 |                           Path to system ignorelist file for sanitizers
 | 
| 658 |   -fsanitize-thread-atomics
 | 
| 659 |                           Enable atomic operations instrumentation in ThreadSanitizer (default)
 | 
| 660 |   -fsanitize-thread-func-entry-exit
 | 
| 661 |                           Enable function entry/exit instrumentation in ThreadSanitizer (default)
 | 
| 662 |   -fsanitize-thread-memory-access
 | 
| 663 |                           Enable memory access instrumentation in ThreadSanitizer (default)
 | 
| 664 |   -fsanitize-trap=<value> Enable trapping for specified sanitizers
 | 
| 665 |   -fsanitize-trap         Enable trapping for all sanitizers
 | 
| 666 |   -fsanitize-undefined-strip-path-components=<number>
 | 
| 667 |                           Strip (or keep only, if negative) a given number of path components when emitting check metadata.
 | 
| 668 |   -fsanitize=<check>      Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks
 | 
| 669 |   -fsave-optimization-record=<format>
 | 
| 670 |                           Generate an optimization record file in a specific format
 | 
| 671 |   -fsave-optimization-record
 | 
| 672 |                           Generate a YAML optimization record file
 | 
| 673 |   -fseh-exceptions        Use SEH style exceptions
 | 
| 674 |   -fshort-enums           Allocate to an enum type only as many bytes as it needs for the declared range of possible values
 | 
| 675 |   -fshort-wchar           Force wchar_t to be a short unsigned int
 | 
| 676 |   -fshow-overloads=<value>
 | 
| 677 |                           Which overload candidates to show when overload resolution fails: best|all; defaults to all
 | 
| 678 |   -fshow-skipped-includes Show skipped includes in -H output.
 | 
| 679 |   -fsigned-char           char is signed
 | 
| 680 |   -fsized-deallocation    Enable C++14 sized global deallocation functions
 | 
| 681 |   -fsjlj-exceptions       Use SjLj style exceptions
 | 
| 682 |   -fslp-vectorize         Enable the superword-level parallelism vectorization passes
 | 
| 683 |   -fsplit-dwarf-inlining  Provide minimal debug info in the object/executable to facilitate online symbolication/stack traces in the absence of .dwo/.dwp files when using Split DWARF
 | 
| 684 |   -fsplit-lto-unit        Enables splitting of the LTO unit
 | 
| 685 |   -fsplit-machine-functions
 | 
| 686 |                           Enable late function splitting using profile information (x86 ELF)
 | 
| 687 |   -fsplit-stack           Use segmented stack
 | 
| 688 |   -fstack-clash-protection
 | 
| 689 |                           Enable stack clash protection
 | 
| 690 |   -fstack-protector-all   Enable stack protectors for all functions
 | 
| 691 |   -fstack-protector-strong
 | 
| 692 |                           Enable stack protectors for some functions vulnerable to stack smashing. Compared to -fstack-protector, this uses a stronger heuristic that includes functions containing arrays of any size (and any type), as well as any calls to alloca or the taking of an address from a local variable
 | 
| 693 |   -fstack-protector       Enable stack protectors for some functions vulnerable to stack smashing. This uses a loose heuristic which considers functions vulnerable if they contain a char (or 8bit integer) array or constant sized calls to alloca , which are of greater size than ssp-buffer-size (default: 8 bytes). All variable sized calls to alloca are considered vulnerable. A function with a stack protector has a guard value added to the stack frame that is checked on function exit. The guard value must be positioned in the stack frame such that a buffer overflow from a vulnerable variable will overwrite the guard value before overwriting the function's return address. The reference stack guard value is stored in a global variable.
 | 
| 694 |   -fstack-size-section    Emit section containing metadata on function stack sizes
 | 
| 695 |   -fstack-usage           Emit .su file containing information on function stack sizes
 | 
| 696 |   -fstandalone-debug      Emit full debug info for all types used by the program
 | 
| 697 |   -fstrict-enums          Enable optimizations based on the strict definition of an enum's value range
 | 
| 698 |   -fstrict-float-cast-overflow
 | 
| 699 |                           Assume that overflowing float-to-int casts are undefined (default)
 | 
| 700 |   -fstrict-vtable-pointers
 | 
| 701 |                           Enable optimizations based on the strict rules for overwriting polymorphic C++ objects
 | 
| 702 |   -fswift-async-fp=<option>
 | 
| 703 |                           Control emission of Swift async extended frame info (option: auto, always, never)
 | 
| 704 |   -fsycl                  Enables SYCL kernels compilation for device
 | 
| 705 |   -fsystem-module         Build this module as a system module. Only used with -emit-module
 | 
| 706 |   -fthin-link-bitcode=<value>
 | 
| 707 |                           Write minimized bitcode to <file> for the ThinLTO thin link only
 | 
| 708 |   -fthinlto-index=<value> Perform ThinLTO importing using provided function summary index
 | 
| 709 |   -ftime-report=<value>   (For new pass manager) "per-pass": one report for each pass; "per-pass-run": one report for each pass invocation
 | 
| 710 |   -ftime-trace-granularity=<value>
 | 
| 711 |                           Minimum time granularity (in microseconds) traced by time profiler
 | 
| 712 |   -ftime-trace            Turn on time profiler. Generates JSON file based on output filename.
 | 
| 713 |   -ftrap-function=<value> Issue call to specified function rather than a trap instruction
 | 
| 714 |   -ftrapv-handler=<function name>
 | 
| 715 |                           Specify the function to be called on overflow
 | 
| 716 |   -ftrapv                 Trap on integer overflow
 | 
| 717 |   -ftrigraphs             Process trigraph sequences
 | 
| 718 |   -ftrivial-auto-var-init-stop-after=<value>
 | 
| 719 |                           Stop initializing trivial automatic stack variables after the specified number of instances
 | 
| 720 |   -ftrivial-auto-var-init=<value>
 | 
| 721 |                           Initialize trivial automatic stack variables: uninitialized (default) | pattern
 | 
| 722 |   -funique-basic-block-section-names
 | 
| 723 |                           Use unique names for basic block sections (ELF Only)
 | 
| 724 |   -funique-internal-linkage-names
 | 
| 725 |                           Uniqueify Internal Linkage Symbol Names by appending the MD5 hash of the module path
 | 
| 726 |   -funroll-loops          Turn on loop unroller
 | 
| 727 |   -fuse-cuid=<value>      Method to generate ID's for compilation units for single source offloading languages CUDA and HIP: 'hash' (ID's generated by hashing file path and command line options) | 'random' (ID's generated as random numbers) | 'none' (disabled). Default is 'hash'. This option will be overridden by option '-cuid=[ID]' if it is specified.
 | 
| 728 |   -fuse-line-directives   Use #line in preprocessed output
 | 
| 729 |   -fvalidate-ast-input-files-content
 | 
| 730 |                           Compute and store the hash of input files used to build an AST. Files with mismatching mtime's are considered valid if both contents is identical
 | 
| 731 |   -fveclib=<value>        Use the given vector functions library
 | 
| 732 |   -fvectorize             Enable the loop vectorization passes
 | 
| 733 |   -fverbose-asm           Generate verbose assembly output
 | 
| 734 |   -fvirtual-function-elimination
 | 
| 735 |                           Enables dead virtual function elimination optimization. Requires -flto=full
 | 
| 736 |   -fvisibility-dllexport=<value>
 | 
| 737 |                           The visibility for dllexport definitions [-fvisibility-from-dllstorageclass]
 | 
| 738 |   -fvisibility-externs-dllimport=<value>
 | 
| 739 |                           The visibility for dllimport external declarations [-fvisibility-from-dllstorageclass]
 | 
| 740 |   -fvisibility-externs-nodllstorageclass=<value>
 | 
| 741 |                           The visibility for external declarations without an explicit DLL dllstorageclass [-fvisibility-from-dllstorageclass]
 | 
| 742 |   -fvisibility-from-dllstorageclass
 | 
| 743 |                           Set the visibility of symbols in the generated code from their DLL storage class
 | 
| 744 |   -fvisibility-global-new-delete-hidden
 | 
| 745 |                           Give global C++ operator new and delete declarations hidden visibility
 | 
| 746 |   -fvisibility-inlines-hidden-static-local-var
 | 
| 747 |                           When -fvisibility-inlines-hidden is enabled, static variables in inline C++ member functions will also be given hidden visibility by default
 | 
| 748 |   -fvisibility-inlines-hidden
 | 
| 749 |                           Give inline C++ member functions hidden visibility by default
 | 
| 750 |   -fvisibility-ms-compat  Give global types 'default' visibility and global functions and variables 'hidden' visibility by default
 | 
| 751 |   -fvisibility-nodllstorageclass=<value>
 | 
| 752 |                           The visibility for defintiions without an explicit DLL export class [-fvisibility-from-dllstorageclass]
 | 
| 753 |   -fvisibility=<value>    Set the default symbol visibility for all global declarations
 | 
| 754 |   -fwasm-exceptions       Use WebAssembly style exceptions
 | 
| 755 |   -fwhole-program-vtables Enables whole-program vtable optimization. Requires -flto
 | 
| 756 |   -fwrapv                 Treat signed integer overflow as two's complement
 | 
| 757 |   -fwritable-strings      Store string literals as writable data
 | 
| 758 |   -fxl-pragma-pack        Enable IBM XL #pragma pack handling
 | 
| 759 |   -fxray-always-emit-customevents
 | 
| 760 |                           Always emit __xray_customevent(...) calls even if the containing function is not always instrumented
 | 
| 761 |   -fxray-always-emit-typedevents
 | 
| 762 |                           Always emit __xray_typedevent(...) calls even if the containing function is not always instrumented
 | 
| 763 |   -fxray-always-instrument= <value>
 | 
| 764 |                           DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.
 | 
| 765 |   -fxray-attr-list= <value>
 | 
| 766 |                           Filename defining the list of functions/types for imbuing XRay attributes.
 | 
| 767 |   -fxray-function-groups=<value>
 | 
| 768 |                           Only instrument 1 of N groups
 | 
| 769 |   -fxray-ignore-loops     Don't instrument functions with loops unless they also meet the minimum function size
 | 
| 770 |   -fxray-instruction-threshold= <value>
 | 
| 771 |                           Sets the minimum function size to instrument with XRay
 | 
| 772 |   -fxray-instrumentation-bundle= <value>
 | 
| 773 |                           Select which XRay instrumentation points to emit. Options: all, none, function-entry, function-exit, function, custom. Default is 'all'.  'function' includes both 'function-entry' and 'function-exit'.
 | 
| 774 |   -fxray-instrument       Generate XRay instrumentation sleds on function entry and exit
 | 
| 775 |   -fxray-link-deps        Tells clang to add the link dependencies for XRay.
 | 
| 776 |   -fxray-modes= <value>   List of modes to link in by default into XRay instrumented binaries.
 | 
| 777 |   -fxray-never-instrument= <value>
 | 
| 778 |                           DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.
 | 
| 779 |   -fxray-selected-function-group=<value>
 | 
| 780 |                           When using -fxray-function-groups, select which group of functions to instrument. Valid range is 0 to fxray-function-groups - 1
 | 
| 781 |   -fzvector               Enable System z vector language extension
 | 
| 782 |   -F <value>              Add directory to framework include search path
 | 
| 783 |   --gcc-toolchain=<value> Search for GCC installation in the specified directory on targets which commonly use GCC. The directory usually contains 'lib{,32,64}/gcc{,-cross}/$triple' and 'include'. If specified, sysroot is skipped for GCC detection. Note: executables (e.g. ld) used by the compiler are not overridden by the selected GCC installation
 | 
| 784 |   -gcodeview-ghash        Emit type record hashes in a .debug$H section
 | 
| 785 |   -gcodeview              Generate CodeView debug information
 | 
| 786 |   -gdwarf-2               Generate source-level debug information with dwarf version 2
 | 
| 787 |   -gdwarf-3               Generate source-level debug information with dwarf version 3
 | 
| 788 |   -gdwarf-4               Generate source-level debug information with dwarf version 4
 | 
| 789 |   -gdwarf-5               Generate source-level debug information with dwarf version 5
 | 
| 790 |   -gdwarf32               Enables DWARF32 format for ELF binaries, if debug information emission is enabled.
 | 
| 791 |   -gdwarf64               Enables DWARF64 format for ELF binaries, if debug information emission is enabled.
 | 
| 792 |   -gdwarf                 Generate source-level debug information with the default dwarf version
 | 
| 793 |   -gembed-source          Embed source text in DWARF debug sections
 | 
| 794 |   -gline-directives-only  Emit debug line info directives only
 | 
| 795 |   -gline-tables-only      Emit debug line number tables only
 | 
| 796 |   -gmodules               Generate debug info with external references to clang modules or precompiled headers
 | 
| 797 |   -gno-embed-source       Restore the default behavior of not embedding source text in DWARF debug sections
 | 
| 798 |   -gno-inline-line-tables Don't emit inline line tables.
 | 
| 799 |   --gpu-bundle-output     Bundle output files of HIP device compilation
 | 
| 800 |   --gpu-instrument-lib=<value>
 | 
| 801 |                           Instrument device library for HIP, which is a LLVM bitcode containing __cyg_profile_func_enter and __cyg_profile_func_exit
 | 
| 802 |   --gpu-max-threads-per-block=<value>
 | 
| 803 |                           Default max threads per block for kernel launch bounds for HIP
 | 
| 804 |   -gsplit-dwarf=<value>   Set DWARF fission mode to either 'split' or 'single'
 | 
| 805 |   -gz=<value>             DWARF debug sections compression type
 | 
| 806 |   -G <size>               Put objects of at most <size> bytes into small data section (MIPS / Hexagon)
 | 
| 807 |   -g                      Generate source-level debug information
 | 
| 808 |   --help-hidden           Display help for hidden options
 | 
| 809 |   -help                   Display available options
 | 
| 810 |   --hip-device-lib=<value>
 | 
| 811 |                           HIP device library
 | 
| 812 |   --hip-link              Link clang-offload-bundler bundles for HIP
 | 
| 813 |   --hip-path=<value>      HIP runtime installation path, used for finding HIP version and adding HIP include path.
 | 
| 814 |   --hip-version=<value>   HIP version in the format of major.minor.patch
 | 
| 815 |   --hipspv-pass-plugin=<dsopath>
 | 
| 816 |                           path to a pass plugin for HIP to SPIR-V passes.
 | 
| 817 |   -H                      Show header includes and nesting depth
 | 
| 818 |   -I-                     Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path
 | 
| 819 |   -ibuiltininc            Enable builtin #include directories even when -nostdinc is used before or after -ibuiltininc. Using -nobuiltininc after the option disables it
 | 
| 820 |   -idirafter <value>      Add directory to AFTER include search path
 | 
| 821 |   -iframeworkwithsysroot <directory>
 | 
| 822 |                           Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot
 | 
| 823 |   -iframework <value>     Add directory to SYSTEM framework search path
 | 
| 824 |   -imacros <file>         Include macros from file before parsing
 | 
| 825 |   -include-pch <file>     Include precompiled header file
 | 
| 826 |   -include <file>         Include file before parsing
 | 
| 827 |   -index-header-map       Make the next included directory (-I or -F) an indexer header map
 | 
| 828 |   -iprefix <dir>          Set the -iwithprefix/-iwithprefixbefore prefix
 | 
| 829 |   -iquote <directory>     Add directory to QUOTE include search path
 | 
| 830 |   -isysroot <dir>         Set the system root directory (usually /)
 | 
| 831 |   -isystem-after <directory>
 | 
| 832 |                           Add directory to end of the SYSTEM include search path
 | 
| 833 |   -isystem <directory>    Add directory to SYSTEM include search path
 | 
| 834 |   -ivfsoverlay <value>    Overlay the virtual filesystem described by file over the real file system
 | 
| 835 |   -iwithprefixbefore <dir>
 | 
| 836 |                           Set directory to include search path with prefix
 | 
| 837 |   -iwithprefix <dir>      Set directory to SYSTEM include search path with prefix
 | 
| 838 |   -iwithsysroot <directory>
 | 
| 839 |                           Add directory to SYSTEM include search path, absolute paths are relative to -isysroot
 | 
| 840 |   -I <dir>                Add directory to the end of the list of include search paths
 | 
| 841 |   --libomptarget-amdgcn-bc-path=<value>
 | 
| 842 |                           Path to libomptarget-amdgcn bitcode library
 | 
| 843 |   --libomptarget-nvptx-bc-path=<value>
 | 
| 844 |                           Path to libomptarget-nvptx bitcode library
 | 
| 845 |   -L <dir>                Add directory to library search path
 | 
| 846 |   -mabi=vec-default       Enable the default Altivec ABI on AIX (AIX only). Uses only volatile vector registers.
 | 
| 847 |   -mabi=vec-extabi        Enable the extended Altivec ABI on AIX (AIX only). Uses volatile and nonvolatile vector registers
 | 
| 848 |   -mabicalls              Enable SVR4-style position-independent code (Mips only)
 | 
| 849 |   -maix-struct-return     Return all structs in memory (PPC32 only)
 | 
| 850 |   -malign-branch-boundary=<value>
 | 
| 851 |                           Specify the boundary's size to align branches
 | 
| 852 |   -malign-branch=<value>  Specify types of branches to align
 | 
| 853 |   -malign-double          Align doubles to two words in structs (x86 only)
 | 
| 854 |   -mamdgpu-ieee           Sets the IEEE bit in the expected default floating point  mode register. Floating point opcodes that support exception flag gathering quiet and propagate signaling NaN inputs per IEEE 754-2008. This option changes the ABI. (AMDGPU only)
 | 
| 855 |   -mbackchain             Link stack frames through backchain on System Z
 | 
| 856 |   -mbranch-protection=<value>
 | 
| 857 |                           Enforce targets of indirect branches and function returns
 | 
| 858 |   -mbranches-within-32B-boundaries
 | 
| 859 |                           Align selected branches (fused, jcc, jmp) within 32-byte boundary
 | 
| 860 |   -mcmodel=medany         Equivalent to -mcmodel=medium, compatible with RISC-V gcc.
 | 
| 861 |   -mcmodel=medlow         Equivalent to -mcmodel=small, compatible with RISC-V gcc.
 | 
| 862 |   -mcmse                  Allow use of CMSE (Armv8-M Security Extensions)
 | 
| 863 |   -mcode-object-v3        Legacy option to specify code object ABI V3 (AMDGPU only)
 | 
| 864 |   -mcode-object-version=<version>
 | 
| 865 |                           Specify code object ABI version. Defaults to 3. (AMDGPU only)
 | 
| 866 |   -mcrc                   Allow use of CRC instructions (ARM/Mips only)
 | 
| 867 |   -mcumode                Specify CU wavefront execution mode (AMDGPU only)
 | 
| 868 |   -mdouble=<value>        Force double to be 32 bits or 64 bits
 | 
| 869 |   -MD                     Write a depfile containing user and system headers
 | 
| 870 |   -meabi <value>          Set EABI type, e.g. 4, 5 or gnu (default depends on triple)
 | 
| 871 |   -membedded-data         Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS)
 | 
| 872 |   -menable-experimental-extensions
 | 
| 873 |                           Enable use of experimental RISC-V extensions.
 | 
| 874 |   -menable-unsafe-fp-math Allow unsafe floating-point math optimizations which may decrease precision
 | 
| 875 |   -mexec-model=<value>    Execution model (WebAssembly only)
 | 
| 876 |   -mexecute-only          Disallow generation of data access to code sections (ARM only)
 | 
| 877 |   -mextern-sdata          Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
 | 
| 878 |   -mfentry                Insert calls to fentry at function entry (x86/SystemZ only)
 | 
| 879 |   -mfix-cmse-cve-2021-35465
 | 
| 880 |                           Work around VLLDM erratum CVE-2021-35465 (ARM only)
 | 
| 881 |   -mfix-cortex-a53-835769 Workaround Cortex-A53 erratum 835769 (AArch64 only)
 | 
| 882 |   -mfp32                  Use 32-bit floating point registers (MIPS only)
 | 
| 883 |   -mfp64                  Use 64-bit floating point registers (MIPS only)
 | 
| 884 |   -MF <file>              Write depfile output from -MMD, -MD, -MM, or -M to <file>
 | 
| 885 |   -mgeneral-regs-only     Generate code which only uses the general purpose registers (AArch64/x86 only)
 | 
| 886 |   -mglobal-merge          Enable merging of globals
 | 
| 887 |   -mgpopt                 Use GP relative accesses for symbols known to be in a small data section (MIPS)
 | 
| 888 |   -MG                     Add missing headers to depfile
 | 
| 889 |   -mharden-sls=<value>    Select straight-line speculation hardening scope
 | 
| 890 |   -mhvx-ieee-fp           Enable Hexagon HVX IEEE floating-point
 | 
| 891 |   -mhvx-length=<value>    Set Hexagon Vector Length
 | 
| 892 |   -mhvx-qfloat            Enable Hexagon HVX QFloat instructions
 | 
| 893 |   -mhvx=<value>           Enable Hexagon Vector eXtensions
 | 
| 894 |   -mhvx                   Enable Hexagon Vector eXtensions
 | 
| 895 |   -miamcu                 Use Intel MCU ABI
 | 
| 896 |   -mibt-seal              Optimize fcf-protection=branch/full (requires LTO).
 | 
| 897 |   -mignore-xcoff-visibility
 | 
| 898 |                           Not emit the visibility attribute for asm in AIX OS or give all symbols 'unspecified' visibility in XCOFF object file
 | 
| 899 |   --migrate               Run the migrator
 | 
| 900 |   -mincremental-linker-compatible
 | 
| 901 |                           (integrated-as) Emit an object file which can be used with an incremental linker
 | 
| 902 |   -mindirect-jump=<value> Change indirect jump instructions to inhibit speculation
 | 
| 903 |   -mios-version-min=<value>
 | 
| 904 |                           Set iOS deployment target
 | 
| 905 |   -MJ <value>             Write a compilation database entry per input
 | 
| 906 |   -mllvm <value>          Additional arguments to forward to LLVM's option processing
 | 
| 907 |   -mlocal-sdata           Extend the -G behaviour to object local data (MIPS)
 | 
| 908 |   -mlong-calls            Generate branches with extended addressability, usually via indirect jumps.
 | 
| 909 |   -mlong-double-128       Force long double to be 128 bits
 | 
| 910 |   -mlong-double-64        Force long double to be 64 bits
 | 
| 911 |   -mlong-double-80        Force long double to be 80 bits, padded to 128 bits for storage
 | 
| 912 |   -mlvi-cfi               Enable only control-flow mitigations for Load Value Injection (LVI)
 | 
| 913 |   -mlvi-hardening         Enable all mitigations for Load Value Injection (LVI)
 | 
| 914 |   -mmacosx-version-min=<value>
 | 
| 915 |                           Set Mac OS X deployment target
 | 
| 916 |   -mmadd4                 Enable the generation of 4-operand madd.s, madd.d and related instructions.
 | 
| 917 |   -mmark-bti-property     Add .note.gnu.property with BTI to assembly files (AArch64 only)
 | 
| 918 |   -MMD                    Write a depfile containing user headers
 | 
| 919 |   -mmemops                Enable generation of memop instructions
 | 
| 920 |   -mms-bitfields          Set the default structure layout to be compatible with the Microsoft compiler standard
 | 
| 921 |   -mmsa                   Enable MSA ASE (MIPS only)
 | 
| 922 |   -mmt                    Enable MT ASE (MIPS only)
 | 
| 923 |   -MM                     Like -MMD, but also implies -E and writes to stdout by default
 | 
| 924 |   -mno-abicalls           Disable SVR4-style position-independent code (Mips only)
 | 
| 925 |   -mno-bti-at-return-twice
 | 
| 926 |                           Do not add a BTI instruction after a setjmp or other return-twice construct (Arm only)
 | 
| 927 |   -mno-code-object-v3     Legacy option to specify code object ABI V2 (AMDGPU only)
 | 
| 928 |   -mno-crc                Disallow use of CRC instructions (Mips only)
 | 
| 929 |   -mno-cumode             Specify WGP wavefront execution mode (AMDGPU only)
 | 
| 930 |   -mno-embedded-data      Do not place constants in the .rodata section instead of the .sdata if they meet the -G <size> threshold (MIPS)
 | 
| 931 |   -mno-execute-only       Allow generation of data access to code sections (ARM only)
 | 
| 932 |   -mno-extern-sdata       Do not assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
 | 
| 933 |   -mno-fix-cmse-cve-2021-35465
 | 
| 934 |                           Don't work around VLLDM erratum CVE-2021-35465 (ARM only)
 | 
| 935 |   -mno-fix-cortex-a53-835769
 | 
| 936 |                           Don't workaround Cortex-A53 erratum 835769 (AArch64 only)
 | 
| 937 |   -mno-global-merge       Disable merging of globals
 | 
| 938 |   -mno-gpopt              Do not use GP relative accesses for symbols known to be in a small data section (MIPS)
 | 
| 939 |   -mno-hvx-ieee-fp        Disable Hexagon HVX IEEE floating-point
 | 
| 940 |   -mno-hvx-qfloat         Disable Hexagon HVX QFloat instructions
 | 
| 941 |   -mno-hvx                Disable Hexagon Vector eXtensions
 | 
| 942 |   -mno-implicit-float     Don't generate implicit floating point instructions
 | 
| 943 |   -mno-incremental-linker-compatible
 | 
| 944 |                           (integrated-as) Emit an object file which cannot be used with an incremental linker
 | 
| 945 |   -mno-local-sdata        Do not extend the -G behaviour to object local data (MIPS)
 | 
| 946 |   -mno-long-calls         Restore the default behaviour of not generating long calls
 | 
| 947 |   -mno-lvi-cfi            Disable control-flow mitigations for Load Value Injection (LVI)
 | 
| 948 |   -mno-lvi-hardening      Disable mitigations for Load Value Injection (LVI)
 | 
| 949 |   -mno-madd4              Disable the generation of 4-operand madd.s, madd.d and related instructions.
 | 
| 950 |   -mno-memops             Disable generation of memop instructions
 | 
| 951 |   -mno-movt               Disallow use of movt/movw pairs (ARM only)
 | 
| 952 |   -mno-ms-bitfields       Do not set the default structure layout to be compatible with the Microsoft compiler standard
 | 
| 953 |   -mno-msa                Disable MSA ASE (MIPS only)
 | 
| 954 |   -mno-mt                 Disable MT ASE (MIPS only)
 | 
| 955 |   -mno-neg-immediates     Disallow converting instructions with negative immediates to their negation or inversion.
 | 
| 956 |   -mno-nvj                Disable generation of new-value jumps
 | 
| 957 |   -mno-nvs                Disable generation of new-value stores
 | 
| 958 |   -mno-outline-atomics    Don't generate local calls to out-of-line atomic operations
 | 
| 959 |   -mno-outline            Disable function outlining (AArch64 only)
 | 
| 960 |   -mno-packets            Disable generation of instruction packets
 | 
| 961 |   -mno-relax              Disable linker relaxation
 | 
| 962 |   -mno-restrict-it        Allow generation of deprecated IT blocks for ARMv8. It is off by default for ARMv8 Thumb mode
 | 
| 963 |   -mno-save-restore       Disable using library calls for save and restore
 | 
| 964 |   -mno-seses              Disable speculative execution side effect suppression (SESES)
 | 
| 965 |   -mno-stack-arg-probe    Disable stack probes which are enabled by default
 | 
| 966 |   -mno-tgsplit            Disable threadgroup split execution mode (AMDGPU only)
 | 
| 967 |   -mno-tls-direct-seg-refs
 | 
| 968 |                           Disable direct TLS access through segment registers
 | 
| 969 |   -mno-unaligned-access   Force all memory accesses to be aligned (AArch32/AArch64 only)
 | 
| 970 |   -mno-wavefrontsize64    Specify wavefront size 32 mode (AMDGPU only)
 | 
| 971 |   -mnocrc                 Disallow use of CRC instructions (ARM only)
 | 
| 972 |   -mnop-mcount            Generate mcount/__fentry__ calls as nops. To activate they need to be patched in.
 | 
| 973 |   -mnvj                   Enable generation of new-value jumps
 | 
| 974 |   -mnvs                   Enable generation of new-value stores
 | 
| 975 |   -module-dependency-dir <value>
 | 
| 976 |                           Directory to dump module dependencies to
 | 
| 977 |   -module-file-info       Provide information about a particular module file
 | 
| 978 |   -momit-leaf-frame-pointer
 | 
| 979 |                           Omit frame pointer setup for leaf functions
 | 
| 980 |   -moutline-atomics       Generate local calls to out-of-line atomic operations
 | 
| 981 |   -moutline               Enable function outlining (AArch64 only)
 | 
| 982 |   -mpacked-stack          Use packed stack layout (SystemZ only).
 | 
| 983 |   -mpackets               Enable generation of instruction packets
 | 
| 984 |   -mpad-max-prefix-size=<value>
 | 
| 985 |                           Specify maximum number of prefixes to use for padding
 | 
| 986 |   -mprefer-vector-width=<value>
 | 
| 987 |                           Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions.
 | 
| 988 |   -MP                     Create phony target for each dependency (other than main file)
 | 
| 989 |   -mqdsp6-compat          Enable hexagon-qdsp6 backward compatibility
 | 
| 990 |   -MQ <value>             Specify name of main file output to quote in depfile
 | 
| 991 |   -mrecord-mcount         Generate a __mcount_loc section entry for each __fentry__ call.
 | 
| 992 |   -mrelax-all             (integrated-as) Relax all machine instructions
 | 
| 993 |   -mrelax                 Enable linker relaxation
 | 
| 994 |   -mrestrict-it           Disallow generation of deprecated IT blocks for ARMv8. It is on by default for ARMv8 Thumb mode.
 | 
| 995 |   -mrtd                   Make StdCall calling convention the default
 | 
| 996 |   -msave-restore          Enable using library calls for save and restore
 | 
| 997 |   -mseses                 Enable speculative execution side effect suppression (SESES). Includes LVI control flow integrity mitigations
 | 
| 998 |   -msign-return-address=<value>
 | 
| 999 |                           Select return address signing scope
 | 
| 1000 |   -mskip-rax-setup        Skip setting up RAX register when passing variable arguments (x86 only)
 | 
| 1001 |   -msmall-data-limit=<value>
 | 
| 1002 |                           Put global and static data smaller than the limit into a special section
 | 
| 1003 |   -msoft-float            Use software floating point
 | 
| 1004 |   -mstack-alignment=<value>
 | 
| 1005 |                           Set the stack alignment
 | 
| 1006 |   -mstack-arg-probe       Enable stack probes
 | 
| 1007 |   -mstack-probe-size=<value>
 | 
| 1008 |                           Set the stack probe size
 | 
| 1009 |   -mstack-protector-guard-offset=<value>
 | 
| 1010 |                           Use the given offset for addressing the stack-protector guard
 | 
| 1011 |   -mstack-protector-guard-reg=<value>
 | 
| 1012 |                           Use the given reg for addressing the stack-protector guard
 | 
| 1013 |   -mstack-protector-guard=<value>
 | 
| 1014 |                           Use the given guard (global, tls) for addressing the stack-protector guard
 | 
| 1015 |   -mstackrealign          Force realign the stack at entry to every function
 | 
| 1016 |   -msve-vector-bits=<value>
 | 
| 1017 |                           Specify the size in bits of an SVE vector register. Defaults to the vector length agnostic value of "scalable". (AArch64 only)
 | 
| 1018 |   -msvr4-struct-return    Return small structs in registers (PPC32 only)
 | 
| 1019 |   -mtargetos=<value>      Set the deployment target to be the specified OS and OS version
 | 
| 1020 |   -mtgsplit               Enable threadgroup split execution mode (AMDGPU only)
 | 
| 1021 |   -mthread-model <value>  The thread model to use, e.g. posix, single (posix by default)
 | 
| 1022 |   -mtls-direct-seg-refs   Enable direct TLS access through segment registers (default)
 | 
| 1023 |   -mtls-size=<value>      Specify bit size of immediate TLS offsets (AArch64 ELF only): 12 (for 4KB) | 24 (for 16MB, default) | 32 (for 4GB) | 48 (for 256TB, needs -mcmodel=large)
 | 
| 1024 |   -mtp=<value>            Thread pointer access method (AArch32/AArch64 only)
 | 
| 1025 |   -mtune=<value>          Only supported on X86 and RISC-V. Otherwise accepted for compatibility with GCC.
 | 
| 1026 |   -MT <value>             Specify name of main file output in depfile
 | 
| 1027 |   -munaligned-access      Allow memory accesses to be unaligned (AArch32/AArch64 only)
 | 
| 1028 |   -munsafe-fp-atomics     Enable unsafe floating point atomic instructions (AMDGPU only)
 | 
| 1029 |   -mvscale-max=<value>    Specify the vscale maximum. Defaults to the vector length agnostic value of "0". (AArch64 only)
 | 
| 1030 |   -mvscale-min=<value>    Specify the vscale minimum. Defaults to "1". (AArch64 only)
 | 
| 1031 |   -MV                     Use NMake/Jom format for the depfile
 | 
| 1032 |   -mwavefrontsize64       Specify wavefront size 64 mode (AMDGPU only)
 | 
| 1033 |   -M                      Like -MD, but also implies -E and writes to stdout by default
 | 
| 1034 |   --no-cuda-include-ptx=<value>
 | 
| 1035 |                           Do not include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.
 | 
| 1036 |   --no-cuda-version-check Don't error out if the detected version of the CUDA install is too low for the requested CUDA gpu architecture.
 | 
| 1037 |   --no-gpu-bundle-output  Do not bundle output files of HIP device compilation
 | 
| 1038 |   --no-offload-arch=<value>
 | 
| 1039 |                           Remove CUDA/HIP offloading device architecture (e.g. sm_35, gfx906) from the list of devices to compile for. 'all' resets the list to its default value.
 | 
| 1040 |   --no-system-header-prefix=<prefix>
 | 
| 1041 |                           Treat all #include paths starting with <prefix> as not including a system header.
 | 
| 1042 |   -nobuiltininc           Disable builtin #include directories
 | 
| 1043 |   -nogpuinc               Do not add include paths for CUDA/HIP and do not include the default CUDA/HIP wrapper headers
 | 
| 1044 |   -nogpulib               Do not link device library for CUDA/HIP device compilation
 | 
| 1045 |   -nohipwrapperinc        Do not include the default HIP wrapper headers and include paths
 | 
| 1046 |   -nostdinc++             Disable standard #include directories for the C++ standard library
 | 
| 1047 |   -ObjC++                 Treat source input files as Objective-C++ inputs
 | 
| 1048 |   -objcmt-allowlist-dir-path=<value>
 | 
| 1049 |                           Only modify files with a filename contained in the provided directory path
 | 
| 1050 |   -objcmt-atomic-property Make migration to 'atomic' properties
 | 
| 1051 |   -objcmt-migrate-all     Enable migration to modern ObjC
 | 
| 1052 |   -objcmt-migrate-annotation
 | 
| 1053 |                           Enable migration to property and method annotations
 | 
| 1054 |   -objcmt-migrate-designated-init
 | 
| 1055 |                           Enable migration to infer NS_DESIGNATED_INITIALIZER for initializer methods
 | 
| 1056 |   -objcmt-migrate-instancetype
 | 
| 1057 |                           Enable migration to infer instancetype for method result type
 | 
| 1058 |   -objcmt-migrate-literals
 | 
| 1059 |                           Enable migration to modern ObjC literals
 | 
| 1060 |   -objcmt-migrate-ns-macros
 | 
| 1061 |                           Enable migration to NS_ENUM/NS_OPTIONS macros
 | 
| 1062 |   -objcmt-migrate-property-dot-syntax
 | 
| 1063 |                           Enable migration of setter/getter messages to property-dot syntax
 | 
| 1064 |   -objcmt-migrate-property
 | 
| 1065 |                           Enable migration to modern ObjC property
 | 
| 1066 |   -objcmt-migrate-protocol-conformance
 | 
| 1067 |                           Enable migration to add protocol conformance on classes
 | 
| 1068 |   -objcmt-migrate-readonly-property
 | 
| 1069 |                           Enable migration to modern ObjC readonly property
 | 
| 1070 |   -objcmt-migrate-readwrite-property
 | 
| 1071 |                           Enable migration to modern ObjC readwrite property
 | 
| 1072 |   -objcmt-migrate-subscripting
 | 
| 1073 |                           Enable migration to modern ObjC subscripting
 | 
| 1074 |   -objcmt-ns-nonatomic-iosonly
 | 
| 1075 |                           Enable migration to use NS_NONATOMIC_IOSONLY macro for setting property's 'atomic' attribute
 | 
| 1076 |   -objcmt-returns-innerpointer-property
 | 
| 1077 |                           Enable migration to annotate property with NS_RETURNS_INNER_POINTER
 | 
| 1078 |   -objcmt-whitelist-dir-path=<value>
 | 
| 1079 |                           Alias for -objcmt-allowlist-dir-path
 | 
| 1080 |   -ObjC                   Treat source input files as Objective-C inputs
 | 
| 1081 |   -object-file-name=<file>
 | 
| 1082 |                           Set the output <file> for debug infos
 | 
| 1083 |   --offload-arch=<value>  CUDA offloading device architecture (e.g. sm_35), or HIP offloading target ID in the form of a device architecture followed by target ID features delimited by a colon. Each target ID feature is a pre-defined string followed by a plus or minus sign (e.g. gfx908:xnack+:sramecc-).  May be specified more than once.
 | 
| 1084 |   --offload=<value>       Specify comma-separated list of offloading target triples (CUDA and HIP only)
 | 
| 1085 |   -o <file>               Write output to <file>
 | 
| 1086 |   -pedantic               Warn on language extensions
 | 
| 1087 |   -pg                     Enable mcount instrumentation
 | 
| 1088 |   -pipe                   Use pipes between commands, when possible
 | 
| 1089 |   --precompile            Only precompile the input
 | 
| 1090 |   -print-effective-triple Print the effective target triple
 | 
| 1091 |   -print-file-name=<file> Print the full library path of <file>
 | 
| 1092 |   -print-ivar-layout      Enable Objective-C Ivar layout bitmap print trace
 | 
| 1093 |   -print-libgcc-file-name Print the library path for the currently used compiler runtime library ("libgcc.a" or "libclang_rt.builtins.*.a")
 | 
| 1094 |   -print-multiarch        Print the multiarch target triple
 | 
| 1095 |   -print-prog-name=<name> Print the full program path of <name>
 | 
| 1096 |   -print-resource-dir     Print the resource directory pathname
 | 
| 1097 |   -print-rocm-search-dirs Print the paths used for finding ROCm installation
 | 
| 1098 |   -print-runtime-dir      Print the directory pathname containing clangs runtime libraries
 | 
| 1099 |   -print-search-dirs      Print the paths used for finding libraries and programs
 | 
| 1100 |   -print-supported-cpus   Print supported cpu models for the given target (if target is not specified, it will print the supported cpus for the default target)
 | 
| 1101 |   -print-target-triple    Print the normalized target triple
 | 
| 1102 |   -print-targets          Print the registered targets
 | 
| 1103 |   -pthread                Support POSIX threads in generated code
 | 
| 1104 |   --ptxas-path=<value>    Path to ptxas (used for compiling CUDA code)
 | 
| 1105 |   -P                      Disable linemarker output in -E mode
 | 
| 1106 |   -Qn                     Do not emit metadata containing compiler name and version
 | 
| 1107 |   -Qunused-arguments      Don't emit warning for unused driver arguments
 | 
| 1108 |   -Qy                     Emit metadata containing compiler name and version
 | 
| 1109 |   -relocatable-pch        Whether to build a relocatable precompiled header
 | 
| 1110 |   -rewrite-legacy-objc    Rewrite Legacy Objective-C source to C++
 | 
| 1111 |   -rewrite-objc           Rewrite Objective-C source to C++
 | 
| 1112 |   --rocm-device-lib-path=<value>
 | 
| 1113 |                           ROCm device library path. Alternative to rocm-path.
 | 
| 1114 |   --rocm-path=<value>     ROCm installation path, used for finding and automatically linking required bitcode libraries.
 | 
| 1115 |   -Rpass-analysis=<value> Report transformation analysis from optimization passes whose name matches the given POSIX regular expression
 | 
| 1116 |   -Rpass-missed=<value>   Report missed transformations by optimization passes whose name matches the given POSIX regular expression
 | 
| 1117 |   -Rpass=<value>          Report transformations performed by optimization passes whose name matches the given POSIX regular expression
 | 
| 1118 |   -rtlib=<value>          Compiler runtime library to use
 | 
| 1119 |   -R<remark>              Enable the specified remark
 | 
| 1120 |   -save-stats=<value>     Save llvm statistics.
 | 
| 1121 |   -save-stats             Save llvm statistics.
 | 
| 1122 |   -save-temps=<value>     Save intermediate compilation results.
 | 
| 1123 |   -save-temps             Save intermediate compilation results
 | 
| 1124 |   -serialize-diagnostics <value>
 | 
| 1125 |                           Serialize compiler diagnostics to a file
 | 
| 1126 |   -shared-libsan          Dynamically link the sanitizer runtime
 | 
| 1127 |   --start-no-unused-arguments
 | 
| 1128 |                           Don't emit warnings about unused arguments for the following arguments
 | 
| 1129 |   -static-libsan          Statically link the sanitizer runtime
 | 
| 1130 |   -static-openmp          Use the static host OpenMP runtime while linking.
 | 
| 1131 |   -std=<value>            Language standard to compile for
 | 
| 1132 |   -stdlib++-isystem <directory>
 | 
| 1133 |                           Use directory as the C++ standard library include path
 | 
| 1134 |   -stdlib=<value>         C++ standard library to use
 | 
| 1135 |   -sycl-std=<value>       SYCL language standard to compile for.
 | 
| 1136 |   --system-header-prefix=<prefix>
 | 
| 1137 |                           Treat all #include paths starting with <prefix> as including a system header.
 | 
| 1138 |   -S                      Only run preprocess and compilation steps
 | 
| 1139 |   --target=<value>        Generate code for the given target
 | 
| 1140 |   -Tbss <addr>            Set starting address of BSS to <addr>
 | 
| 1141 |   -Tdata <addr>           Set starting address of DATA to <addr>
 | 
| 1142 |   -time                   Time individual commands
 | 
| 1143 |   -traditional-cpp        Enable some traditional CPP emulation
 | 
| 1144 |   -trigraphs              Process trigraph sequences
 | 
| 1145 |   -Ttext <addr>           Set starting address of TEXT to <addr>
 | 
| 1146 |   -T <script>             Specify <script> as linker script
 | 
| 1147 |   -undef                  undef all system defines
 | 
| 1148 |   -unwindlib=<value>      Unwind library to use
 | 
| 1149 |   -U <macro>              Undefine macro <macro>
 | 
| 1150 |   --verify-debug-info     Verify the binary representation of debug output
 | 
| 1151 |   -verify-pch             Load and verify that a pre-compiled header file is not stale
 | 
| 1152 |   --version               Print version information
 | 
| 1153 |   -v                      Show commands to run and use verbose output
 | 
| 1154 |   -Wa,<arg>               Pass the comma separated arguments in <arg> to the assembler
 | 
| 1155 |   -Wdeprecated            Enable warnings for deprecated constructs and define __DEPRECATED
 | 
| 1156 |   -Wl,<arg>               Pass the comma separated arguments in <arg> to the linker
 | 
| 1157 |   -working-directory <value>
 | 
| 1158 |                           Resolve file paths relative to the specified directory
 | 
| 1159 |   -Wp,<arg>               Pass the comma separated arguments in <arg> to the preprocessor
 | 
| 1160 |   -W<warning>             Enable the specified warning
 | 
| 1161 |   -w                      Suppress all warnings
 | 
| 1162 |   -Xanalyzer <arg>        Pass <arg> to the static analyzer
 | 
| 1163 |   -Xarch_device <arg>     Pass <arg> to the CUDA/HIP device compilation
 | 
| 1164 |   -Xarch_host <arg>       Pass <arg> to the CUDA/HIP host compilation
 | 
| 1165 |   -Xassembler <arg>       Pass <arg> to the assembler
 | 
| 1166 |   -Xclang <arg>           Pass <arg> to the clang compiler
 | 
| 1167 |   -Xcuda-fatbinary <arg>  Pass <arg> to fatbinary invocation
 | 
| 1168 |   -Xcuda-ptxas <arg>      Pass <arg> to the ptxas assembler
 | 
| 1169 |   -Xlinker <arg>          Pass <arg> to the linker
 | 
| 1170 |   -Xopenmp-target=<triple> <arg>
 | 
| 1171 |                           Pass <arg> to the target offloading toolchain identified by <triple>.
 | 
| 1172 |   -Xopenmp-target <arg>   Pass <arg> to the target offloading toolchain.
 | 
| 1173 |   -Xpreprocessor <arg>    Pass <arg> to the preprocessor
 | 
| 1174 |   -x <language>           Treat subsequent input files as having type <language>
 | 
| 1175 |   -z <arg>                Pass -z <arg> to the linker
 |