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