OVERVIEW: llvm system compiler USAGE: llc [options] OPTIONS: Color Options: --color - Use colors in output (default=autodetect) General options: -I - include search path -O - Optimization level. [-O0, -O1, -O2, or -O3] (default = '-O2') --abort-on-max-devirt-iterations-reached - Abort when the max iterations for devirtualization CGSCC repeat pass is reached --addrsig - Emit an address-significance table --align-loops= - Default alignment for loops --allow-ginsert-as-artifact - Allow G_INSERT to be considered an artifact. Hack around AMDGPU test infinite loops. --asm-show-inst - Emit internal instruction representation to assembly file --asm-verbose - Add comments to directives. --atomic-counter-update-promoted - Do counter update using atomic fetch add for promoted counters only --atomic-first-counter - Use atomic fetch add for first counter in a function (usually the entry counter) --basic-block-sections= | labels | none> - Emit basic blocks into separate sections --bounds-checking-single-trap - Use one trap block per function --bounds-checking-unique-traps - Always use one trap per check --bpf-stack-size= - Specify the BPF stack size limit --cfg-hide-cold-paths= - Hide blocks with relative frequency below the given value --cfg-hide-deoptimize-paths - --cfg-hide-unreachable-paths - --code-model= - Choose code model =tiny - Tiny code model =small - Small code model =kernel - Kernel code model =medium - Medium code model =large - Large code model --cost-kind= - Target cost kind =throughput - Reciprocal throughput =latency - Instruction latency =code-size - Code size =size-latency - Code size and latency --data-sections - Emit data into separate sections --debug-entry-values - Enable debug info for the debug entry values. --debug-info-correlate - Use debug info to correlate profiles. (Deprecated, use -profile-correlate=debug-info) --debugger-tune= - Tune debug info for a particular debugger =gdb - gdb =lldb - lldb =dbx - dbx =sce - SCE targets (e.g. PS4) --debugify-func-limit= - Set max number of processed functions per pass. --debugify-level= - Kind of debug info to add =locations - Locations only =location+variables - Locations and Variables --debugify-quiet - Suppress verbose debugify output --denormal-fp-math= - Select which denormal numbers the code is permitted to require =ieee - IEEE 754 denormal numbers =preserve-sign - the sign of a flushed-to-zero number is preserved in the sign of 0 =positive-zero - denormals are flushed to positive zero =dynamic - denormals have unknown treatment --denormal-fp-math-f32= - Select which denormal numbers the code is permitted to require for float =ieee - IEEE 754 denormal numbers =preserve-sign - the sign of a flushed-to-zero number is preserved in the sign of 0 =positive-zero - denormals are flushed to positive zero =dynamic - denormals have unknown treatment --disable-auto-upgrade-debug-info - Disable autoupgrade of debug info --disable-i2p-p2i-opt - Disables inttoptr/ptrtoint roundtrip optimization --disable-simplify-libcalls - Disable simplify-libcalls --disable-tail-calls - Never emit tail calls --do-counter-promotion - Do counter register promotion --dot-cfg-mssa= - file name for generated dot file --dwarf-version= - Dwarf version --dwarf64 - Generate debugging info in the 64-bit DWARF format --emit-call-site-info - Emit call site debug information, if debug information is enabled. --emit-compact-unwind-non-canonical - Whether to try to emit Compact Unwind for non canonical entries. --emit-dwarf-unwind= - Whether to emit DWARF EH frame entries. =always - Always emit EH frame entries =no-compact-unwind - Only emit EH frame entries when compact unwind is not available =default - Use target platform default --emulated-tls - Use emulated TLS model --enable-approx-func-fp-math - Enable FP math optimizations that assume approx func --enable-cse-in-irtranslator - Should enable CSE in irtranslator --enable-cse-in-legalizer - Should enable CSE in Legalizer --enable-gvn-hoist - Enable the GVN hoisting pass (default = off) --enable-gvn-memdep - --enable-gvn-sink - Enable the GVN sinking pass (default = off) --enable-jmc-instrument - Instrument functions with a call to __CheckForDebuggerJustMyCode --enable-load-in-loop-pre - --enable-load-pre - --enable-loop-simplifycfg-term-folding - --enable-name-compression - Enable name/filename string compression --enable-new-pm - Enable the new pass manager --enable-no-infs-fp-math - Enable FP math optimizations that assume no +-Infs --enable-no-nans-fp-math - Enable FP math optimizations that assume no NaNs --enable-no-signed-zeros-fp-math - Enable FP math optimizations that assume the sign of 0 is insignificant --enable-no-trapping-fp-math - Enable setting the FP exceptions build attribute not to use exceptions --enable-split-backedge-in-load-pre - --enable-split-loopiv-heuristic - Enable loop iv regalloc heuristic --enable-tlsdesc - Enable the use of TLS Descriptors --enable-unsafe-fp-math - Enable optimizations that may decrease FP precision --exception-model= - exception model =default - default exception handling model =dwarf - DWARF-like CFI based exception handling =sjlj - SjLj exception handling =arm - ARM EHABI exceptions =wineh - Windows exception model =wasm - WebAssembly exception handling --experimental-debug-variable-locations - Use experimental new value-tracking variable locations --experimental-debuginfo-iterators - Enable communicating debuginfo positions through iterators, eliminating intrinsics --fatal-warnings - Treat warnings as errors --filetype= - Choose a file type (not all types are supported by all targets): =asm - Emit an assembly ('.s') file =obj - Emit a native object ('.o') file =null - Emit nothing, for performance testing --float-abi= - Choose float ABI type =default - Target default float ABI type =soft - Soft float ABI (implied by -soft-float) =hard - Hard float ABI (uses FP registers) --force-dwarf-frame-section - Always emit a debug frame section. --force-tail-folding-style= - Force the tail folding style =none - Disable tail folding =data - Create lane mask for data only, using active.lane.mask intrinsic =data-without-lane-mask - Create lane mask with compare/stepvector =data-and-control - Create lane mask using active.lane.mask intrinsic, and use it for both data and control flow =data-and-control-without-rt-check - Similar to data-and-control, but remove the runtime check --fp-contract= - Enable aggressive formation of fused FP ops =fast - Fuse FP ops whenever profitable =on - Only fuse 'blessed' FP ops. =off - Only fuse FP ops when the result won't be affected. --frame-pointer= - Specify frame pointer elimination optimization =all - Disable frame pointer elimination =non-leaf - Disable frame pointer elimination for non-leaf frame =none - Enable frame pointer elimination --fs-profile-debug-bw-threshold= - Only show debug message if the source branch weight is greater than this value. --fs-profile-debug-prob-diff-threshold= - Only show debug message if the branch probility is greater than this value (in percentage). --function-sections - Emit functions into separate sections --generate-merged-base-profiles - When generating nested context-sensitive profiles, always generate extra base profile for function with all its context profiles merged into it. --hash-based-counter-split - Rename counter variable of a comdat function based on cfg hash --hot-cold-split - Enable hot-cold splitting pass --ignore-xcoff-visibility - Not emit the visibility attribute for asm in AIX OS or give all symbols 'unspecified' visibility in XCOFF object file --import-all-index - Import all external functions in index. --incremental-linker-compatible - When used with filetype=obj, emit an object file which can be used with an incremental linker --instcombine-code-sinking - Enable code sinking --instcombine-guard-widening-window= - How wide an instruction window to bypass looking for another guard --instcombine-max-num-phis= - Maximum number phis to handle in intptr/ptrint folding --instcombine-max-sink-users= - Maximum number of undroppable users for instruction sinking --instcombine-maxarray-size= - Maximum array size considered when doing a combine --instcombine-negator-enabled - Should we attempt to sink negations? --instcombine-negator-max-depth= - What is the maximal lookup depth when trying to check for viability of negation sinking. --instrprof-atomic-counter-update-all - Make all profile counter updates atomic (for testing only) --internalize-public-api-file= - A file containing list of symbol names to preserve --internalize-public-api-list= - A list of symbol names to preserve --iterative-counter-promotion - Allow counter promotion across the whole loop nest. --large-data-threshold= - Choose large data threshold for x86_64 medium code model --load= - Load the specified plugin --march= - Architecture to generate code for (see --version) --matrix-default-layout= - Sets the default matrix layout =column-major - Use column-major layout =row-major - Use row-major layout --matrix-print-after-transpose-opt - --mattr= - Target specific attributes (-mattr=help for details) --max-counter-promotions= - Max number of allowed counter promotions --max-counter-promotions-per-loop= - Max number counter promotions per loop to avoid increasing register pressure too much --mc-relax-all - When used with filetype=obj, relax all fixups in the emitted object file --mcpu= - Target a specific cpu type (-mcpu=help for details) --meabi= - Set EABI type (default depends on triple): =default - Triple default EABI version =4 - EABI version 4 =5 - EABI version 5 =gnu - EABI GNU --mir-strip-debugify-only - Should mir-strip-debug only strip debug info from debugified modules by default --misexpect-tolerance= - Prevents emiting diagnostics when profile counts are within N% of the threshold.. --mtriple= - Override target triple for module --mxcoff-roptr - When set to true, const objects with relocatable address values are put into the RO data section. --no-deprecated-warn - Suppress all deprecated warnings --no-discriminators - Disable generation of discriminator information. --no-integrated-as - Disable integrated assembler --no-type-check - Suppress type errors (Wasm) --no-warn - Suppress all warnings --nozero-initialized-in-bss - Don't place zero-initialized symbols into bss section -o - Output filename --object-size-offset-visitor-max-visit-instructions= - Maximum number of instructions for ObjectSizeOffsetVisitor to look at --pass-remarks-filter= - Only record optimization remarks from passes whose names match the given regular expression --pass-remarks-format= - The format used for serializing remarks (default: YAML) --pass-remarks-output= - Output filename for pass remarks --passes= - A textual description of the pass pipeline. To have analysis passes available before a certain pass, add 'require'. --pgo-block-coverage - Use this option to enable basic block coverage instrumentation --pgo-temporal-instrumentation - Use this option to enable temporal instrumentation --pgo-view-block-coverage-graph - Create a dot file of CFGs with block coverage inference information --poison-checking-function-local - Check that returns are non-poison (for testing) --print-pipeline-passes - Print a '-passes' compatible string describing the pipeline (best-effort only). --profile-correlate= - Use debug info or binary file to correlate profiles. = - No profile correlation =debug-info - Use debug info to correlate =binary - Use binary to correlate --relax-elf-relocations - Emit GOTPCRELX/REX_GOTPCRELX instead of GOTPCREL on x86-64 ELF --relocation-model= - Choose relocation model =static - Non-relocatable code =pic - Fully relocatable, position independent code =dynamic-no-pic - Relocatable external references, non-relocatable code =ropi - Code and read-only data relocatable, accessed PC-relative =rwpi - Read-write data relocatable, accessed relative to static base =ropi-rwpi - Combination of ropi and rwpi --run-pass= - Run compiler only for specified passes (comma separated list) --runtime-counter-relocation - Enable relocating counters at runtime. --safepoint-ir-verifier-print-only - --sample-profile-check-record-coverage= - Emit a warning if less than N% of records in the input profile are matched to the IR. --sample-profile-check-sample-coverage= - Emit a warning if less than N% of samples in the input profile are matched to the IR. --sample-profile-max-propagate-iterations= - Maximum number of iterations to go through when propagating sample block/edge weights through the CFG. --skip-ret-exit-block - Suppress counter promotion if exit blocks contain ret. --speculative-counter-promotion-max-exiting= - The max number of exiting blocks of a loop to allow speculative counter promotion --speculative-counter-promotion-to-loop - When the option is false, if the target block is in a loop, the promotion will be disallowed unless the promoted counter update can be further/iteratively promoted into an acyclic region. --split-dwarf-file= - Specify the name of the .dwo file to encode in the DWARF output --split-dwarf-output= - .dwo output filename --split-machine-functions - Split out cold basic blocks from machine functions based on profile information --stack-size-section - Emit a section containing stack size metadata --stack-symbol-ordering - Order local stack symbols. --stackrealign - Force align the stack to the minimum alignment --strict-dwarf - use strict dwarf --summary-file= - The summary file to use for function importing. --swift-async-fp= - Determine when the Swift async frame pointer should be set =auto - Determine based on deployment target =always - Always set the bit =never - Never set the bit --tailcallopt - Turn fastcc calls into tail calls by (potentially) changing ABI. --thread-model= - Choose threading model =posix - POSIX thread model =single - Single thread model --time-trace - Record time trace --time-trace-file= - Specify time trace file destination --tls-size= - Bit size of immediate TLS offsets --type-based-intrinsic-cost - Calculate intrinsics cost based only on argument types --unique-basic-block-section-names - Give unique names to every basic block section --unique-section-names - Give unique names to every section --use-ctors - Use .ctors instead of .init_array. --vec-extabi - Enable the AIX Extended Altivec ABI. --verify-region-info - Verify region info (time consuming) --vp-counters-per-site= - The average number of profile counters allocated per value profiling site. --vp-static-alloc - Do static counter allocation for value profiler -x - Input language ('ir' or 'mir') --xcoff-traceback-table - Emit the XCOFF traceback table --xray-function-index - Emit xray_fn_idx section Generic Options: --help - Display available options (--help-hidden for more) --help-list - Display list of available options (--help-list-hidden for more) --version - Display the version of this program