OVERVIEW: llvm system compiler
USAGE: llc [options] <input bitcode>
OPTIONS:
Color Options:
--color - Use colors in output (default=autodetect)
General options:
-I <string> - include search path
-O <char> - Optimization level. [-O0, -O1, -O2, or -O3] (default = '-O2')
--addrsig - Emit an address-significance table
--align-loops=<uint> - Default alignment for loops
--asm-show-inst - Emit internal instruction representation to assembly file
--asm-verbose - Add comments to directives.
--basic-block-sections=<all | <function list (file)> | labels | none> - Emit basic blocks into separate sections
--cfg-hide-cold-paths=<number> - Hide blocks with relative frequency below the given value
--cfg-hide-deoptimize-paths -
--cfg-hide-unreachable-paths -
--code-model=<value> - Choose code model
=tiny - Tiny code model
=small - Small code model
=kernel - Kernel code model
=medium - Medium code model
=large - Large code model
--data-sections - Emit data into separate sections
--debug-entry-values - Enable debug info for the debug entry values.
--debugger-tune=<value> - Tune debug info for a particular debugger
=gdb - gdb
=lldb - lldb
=dbx - dbx
=sce - SCE targets (e.g. PS4)
--debugify-func-limit=<ulong> - Set max number of processed functions per pass.
--debugify-level=<value> - Kind of debug info to add
=locations - Locations only
=location+variables - Locations and Variables
--debugify-quiet - Suppress verbose debugify output
--denormal-fp-math=<value> - 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
--denormal-fp-math-f32=<value> - 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
--disable-i2p-p2i-opt - Disables inttoptr/ptrtoint roundtrip optimization
--disable-simplify-libcalls - Disable simplify-libcalls
--disable-tail-calls - Never emit tail calls
--dot-cfg-mssa=<file name for generated dot file> - file name for generated dot file
--dwarf-version=<int> - 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-dwarf-unwind=<value> - 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-gvn-memdep -
--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-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-unsafe-fp-math - Enable optimizations that may decrease FP precision
--exception-model=<value> - 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
--fatal-warnings - Treat warnings as errors
--filetype=<value> - 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=<value> - 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.
--fp-contract=<value> - 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=<value> - 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=<uint> - Only show debug message if the source branch weight is greater than this value.
--fs-profile-debug-prob-diff-threshold=<uint> - 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.
--ignore-xcoff-visibility - Not emit the visibility attribute for asm in AIX OS or give all symbols 'unspecified' visibility in XCOFF object file
--incremental-linker-compatible - When used with filetype=obj, emit an object file which can be used with an incremental linker
--load=<pluginfilename> - Load the specified plugin
--lower-global-dtors-via-cxa-atexit - Lower llvm.global_dtors (global destructors) via __cxa_atexit
--march=<string> - Architecture to generate code for (see --version)
--matrix-default-layout=<value> - Sets the default matrix layout
=column-major - Use column-major layout
=row-major - Use row-major layout
--matrix-print-after-transpose-opt -
--mattr=<a1,+a2,-a3,...> - Target specific attributes (-mattr=help for details)
--mc-relax-all - When used with filetype=obj, relax all fixups in the emitted object file
--mcpu=<cpu-name> - Target a specific cpu type (-mcpu=help for details)
--meabi=<value> - 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=<uint> - Prevents emiting diagnostics when profile counts are within N% of the threshold..
--mtriple=<string> - Override target triple for module
--no-deprecated-warn - Suppress all deprecated warnings
--no-discriminators - Disable generation of discriminator information.
--no-type-check - Suppress type errors (Wasm)
--no-warn - Suppress all warnings
--no-xray-index - Don't emit xray_fn_idx section
--nozero-initialized-in-bss - Don't place zero-initialized symbols into bss section
-o <filename> - Output filename
--opaque-pointers - Use opaque pointers
--pass-remarks-filter=<regex> - Only record optimization remarks from passes whose names match the given regular expression
--pass-remarks-format=<format> - The format used for serializing remarks (default: YAML)
--pass-remarks-output=<filename> - Output filename for pass remarks
--relax-elf-relocations - Emit GOTPCRELX/REX_GOTPCRELX instead of GOTPCREL on x86-64 ELF
--relocation-model=<value> - 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=<pass-name> - Run compiler only for specified passes (comma separated list)
--safepoint-ir-verifier-print-only -
--sample-profile-check-record-coverage=<N> - Emit a warning if less than N% of records in the input profile are matched to the IR.
--sample-profile-check-sample-coverage=<N> - Emit a warning if less than N% of samples in the input profile are matched to the IR.
--sample-profile-max-propagate-iterations=<uint> - Maximum number of iterations to go through when propagating sample block/edge weights through the CFG.
--split-dwarf-file=<string> - Specify the name of the .dwo file to encode in the DWARF output
--split-dwarf-output=<filename> - .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
--swift-async-fp=<value> - 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=<value> - Choose threading model
=posix - POSIX thread model
=single - Single thread model
--time-trace - Record time trace
--time-trace-file=<filename> - Specify time trace file destination
--tls-size=<uint> - Bit size of immediate TLS offsets
--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)
-x <string> - Input language ('ir' or 'mir')
--xcoff-traceback-table - Emit the XCOFF traceback table
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
Options (108)
| Option | Description | Source |
|---|---|---|
--color | - Use colors in output (default=autodetect) | help |
-I string | - include search path | help |
-O char | - Optimization level. | help |
--addrsig | - Emit an address-significance table | help |
--align-loops uint | - Default alignment for loops | help |
--asm-show-inst | - Emit internal instruction representation to assembly file | help |
--asm-verbose | - Add comments to directives. | help |
--cfg-hide-cold-paths number | - Hide blocks with relative frequency below the given value | help |
--cfg-hide-deoptimize-paths | - | help |
--cfg-hide-unreachable-paths | - | help |
--code-model value | - Choose code model =tiny - Tiny code model =small - Small code model =kernel - Kernel code model =medium - Medium code model =large - Large code model | help |
--data-sections | - Emit data into separate sections | help |
--debug-entry-values | - Enable debug info for the debug entry values. | help |
--debugger-tune value | - Tune debug info for a particular debugger =gdb - gdb =lldb - lldb =dbx - dbx =sce - SCE targets (e.g. PS4) | help |
--debugify-func-limit ulong | - Set max number of processed functions per pass. | help |
--debugify-level value | - Kind of debug info to add =locations - Locations only =location+variables - Locations and Variables | help |
--debugify-quiet | - Suppress verbose debugify output | help |
--denormal-fp-math value | - 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 -… | help |
--denormal-fp-math-f32 value | - 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… | help |
--disable-i2p-p2i-opt | - Disables inttoptr/ptrtoint roundtrip optimization | help |
--disable-simplify-libcalls | - Disable simplify-libcalls | help |
--disable-tail-calls | - Never emit tail calls | help |
--dot-cfg-mssa file | - file name for generated dot file | help |
--dwarf-version int | - Dwarf version | help |
--dwarf64 | - Generate debugging info in the 64-bit DWARF format | help |
--emit-call-site-info | - Emit call site debug information, if debug information is enabled. | help |
--emit-dwarf-unwind value | - Whether to emit DWARF EH frame entries. | help |
--emulated-tls | - Use emulated TLS model | help |
--enable-approx-func-fp-math | - Enable FP math optimizations that assume approx func | help |
--enable-gvn-memdep | - | help |
--enable-jmc-instrument | - Instrument functions with a call to __CheckForDebuggerJustMyCode | help |
--enable-load-in-loop-pre | - | help |
--enable-load-pre | - | help |
--enable-loop-simplifycfg-term-folding | - | help |
--enable-name-compression | - Enable name/filename string compression | help |
--enable-no-infs-fp-math | - Enable FP math optimizations that assume no +-Infs | help |
--enable-no-nans-fp-math | - Enable FP math optimizations that assume no NaNs | help |
--enable-no-signed-zeros-fp-math | - Enable FP math optimizations that assume the sign of 0 is insignificant | help |
--enable-no-trapping-fp-math | - Enable setting the FP exceptions build attribute not to use exceptions | help |
--enable-split-backedge-in-load-pre | - | help |
--enable-unsafe-fp-math | - Enable optimizations that may decrease FP precision | help |
--exception-model value | - 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… | help |
--experimental-debug-variable-locations | - Use experimental new value-tracking variable locations | help |
--fatal-warnings | - Treat warnings as errors | help |
--filetype value | - 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 | help |
--float-abi value | - 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) | help |
--force-dwarf-frame-section | - Always emit a debug frame section. | help |
--fp-contract value | - Enable aggressive formation of fused FP ops =fast - Fuse FP ops whenever profitable =on - Only fuse 'blessed' FP ops. | help |
--frame-pointer value | - 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 | help |
--fs-profile-debug-bw-threshold uint | - Only show debug message if the source branch weight is greater than this value. | help |
--fs-profile-debug-prob-diff-threshold uint | - Only show debug message if the branch probility is greater than this value (in percentage). | help |
--function-sections | - Emit functions into separate sections | help |
--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. | help |
--ignore-xcoff-visibility | - Not emit the visibility attribute for asm in AIX OS or give all symbols 'unspecified' visibility in XCOFF object file | help |
--incremental-linker-compatible | - When used with filetype=obj, emit an object file which can be used with an incremental linker | help |
--load pluginfilename | - Load the specified plugin | help |
--lower-global-dtors-via-cxa-atexit | - Lower llvm.global_dtors (global destructors) via __cxa_atexit | help |
--march string | - Architecture to generate code for (see --version) | help |
--matrix-default-layout value | - Sets the default matrix layout =column-major - Use column-major layout =row-major - Use row-major layout | help |
--matrix-print-after-transpose-opt | - | help |
--mattr, -a3 a1 | - Target specific attributes (-mattr=help for details) | help |
--mc-relax-all | - When used with filetype=obj, relax all fixups in the emitted object file | help |
--mcpu cpu-name | - Target a specific cpu type (-mcpu=help for details) | help |
--meabi value | - Set EABI type (default depends on triple): =default - Triple default EABI version =4 - EABI version 4 =5 - EABI version 5 =gnu - EABI GNU | help |
--mir-strip-debugify-only | - Should mir-strip-debug only strip debug info from debugified modules by default | help |
--misexpect-tolerance uint | - Prevents emiting diagnostics when profile counts are within N% of the threshold.. | help |
--mtriple string | - Override target triple for module | help |
--no-deprecated-warn | - Suppress all deprecated warnings | help |
--no-discriminators | - Disable generation of discriminator information. | help |
--no-type-check | - Suppress type errors (Wasm) | help |
--no-warn | - Suppress all warnings | help |
--no-xray-index | - Don't emit xray_fn_idx section | help |
--nozero-initialized-in-bss | - Don't place zero-initialized symbols into bss section | help |
-o filename | - Output filename | help |
--opaque-pointers | - Use opaque pointers | help |
--pass-remarks-filter regex | - Only record optimization remarks from passes whose names match the given regular expression | help |
--pass-remarks-format format | - The format used for serializing remarks (default: YAML) | help |
--pass-remarks-output filename | - Output filename for pass remarks | help |
--relax-elf-relocations | - Emit GOTPCRELX/REX_GOTPCRELX instead of GOTPCREL on x86-64 ELF | help |
--relocation-model value | - 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… | help |
--run-pass pass-name | - Run compiler only for specified passes (comma separated list) | help |
--safepoint-ir-verifier-print-only | - | help |
--sample-profile-check-record-coverage N | - Emit a warning if less than N% of records in the input profile are matched to the IR. | help |
--sample-profile-check-sample-coverage N | - Emit a warning if less than N% of samples in the input profile are matched to the IR. | help |
--sample-profile-max-propagate-iterations uint | - Maximum number of iterations to go through when propagating sample block/edge weights through the CFG. | help |
--split-dwarf-file string | - Specify the name of the .dwo file to encode in the DWARF output | help |
--split-dwarf-output filename | - .dwo output filename | help |
--split-machine-functions | - Split out cold basic blocks from machine functions based on profile information | help |
--stack-size-section | - Emit a section containing stack size metadata | help |
--stack-symbol-ordering | - Order local stack symbols. | help |
--stackrealign | - Force align the stack to the minimum alignment | help |
--strict-dwarf | - use strict dwarf | help |
--swift-async-fp value | - 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 | help |
--tailcallopt | - Turn fastcc calls into tail calls by (potentially) changing ABI. | help |
--thread-model value | - Choose threading model =posix - POSIX thread model =single - Single thread model | help |
--time-trace | - Record time trace | help |
--time-trace-file filename | - Specify time trace file destination | help |
--tls-size uint | - Bit size of immediate TLS offsets | help |
--unique-basic-block-section-names | - Give unique names to every basic block section | help |
--unique-section-names | - Give unique names to every section | help |
--use-ctors | - Use .ctors instead of .init_array. | help |
--vec-extabi | - Enable the AIX Extended Altivec ABI. | help |
--verify-region-info | - Verify region info (time consuming) | help |
-x string | - Input language ('ir' or 'mir') | help |
--xcoff-traceback-table | - Emit the XCOFF traceback table | help |
--help | - Display available options (--help-hidden for more) | help |
--help-list | - Display list of available options (--help-list-hidden for more) | help |
--version | - Display the version of this program | help |