OS Manuals

/usr/lib/llvm-15/bin/llc

Low-level virtual machine 15 - core frameworks - BPF variant

From llvm-15-bpf 15.0.7-r32 (os), captured 2026-11-05 by running llc --help (exit 0). permalink

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')
  --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=<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-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-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.
  --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
  --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=<uint>                            - How wide an instruction window to bypass looking for another guard
  --instcombine-max-iterations=<uint>                                   - Limit the maximum number of instruction combining iterations
  --instcombine-max-num-phis=<uint>                                     - Maximum number phis to handle in intptr/ptrint folding
  --instcombine-max-sink-users=<uint>                                   - Maximum number of undroppable users for instruction sinking
  --instcombine-maxarray-size=<uint>                                    - Maximum array size considered when doing a combine
  --instcombine-negator-enabled                                         - Should we attempt to sink negations?
  --instcombine-negator-max-depth=<uint>                                - What is the maximal lookup depth when trying to check for viability of negation sinking.
  --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
  --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 (119)
OptionDescriptionSource
--color- Use colors in output (default=autodetect)help
-I string- include search pathhelp
-O char- Optimization level.help
--abort-on-max-devirt-iterations-reached- Abort when the max iterations for devirtualization CGSCC repeat pass is reachedhelp
--addrsig- Emit an address-significance tablehelp
--align-loops uint- Default alignment for loopshelp
--asm-show-inst- Emit internal instruction representation to assembly filehelp
--asm-verbose- Add comments to directives.help
--cfg-hide-cold-paths number- Hide blocks with relative frequency below the given valuehelp
--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 modelhelp
--data-sections- Emit data into separate sectionshelp
--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 Variableshelp
--debugify-quiet- Suppress verbose debugify outputhelp
--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 optimizationhelp
--disable-simplify-libcalls- Disable simplify-libcallshelp
--disable-tail-calls- Never emit tail callshelp
--dot-cfg-mssa file- file name for generated dot filehelp
--dwarf-version int- Dwarf versionhelp
--dwarf64- Generate debugging info in the 64-bit DWARF formathelp
--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 modelhelp
--enable-approx-func-fp-math- Enable FP math optimizations that assume approx funchelp
--enable-gvn-hoist- Enable the GVN hoisting pass (default = off)help
--enable-gvn-memdep-help
--enable-gvn-sink- Enable the GVN sinking pass (default = off)help
--enable-jmc-instrument- Instrument functions with a call to __CheckForDebuggerJustMyCodehelp
--enable-load-in-loop-pre-help
--enable-load-pre-help
--enable-loop-simplifycfg-term-folding-help
--enable-name-compression- Enable name/filename string compressionhelp
--enable-no-infs-fp-math- Enable FP math optimizations that assume no +-Infshelp
--enable-no-nans-fp-math- Enable FP math optimizations that assume no NaNshelp
--enable-no-signed-zeros-fp-math- Enable FP math optimizations that assume the sign of 0 is insignificanthelp
--enable-no-trapping-fp-math- Enable setting the FP exceptions build attribute not to use exceptionshelp
--enable-split-backedge-in-load-pre-help
--enable-unsafe-fp-math- Enable optimizations that may decrease FP precisionhelp
--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 locationshelp
--fatal-warnings- Treat warnings as errorshelp
--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 testinghelp
--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 eliminationhelp
--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 sectionshelp
--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
--hot-cold-split- Enable hot-cold splitting passhelp
--ignore-xcoff-visibility- Not emit the visibility attribute for asm in AIX OS or give all symbols 'unspecified' visibility in XCOFF object filehelp
--incremental-linker-compatible- When used with filetype=obj, emit an object file which can be used with an incremental linkerhelp
--instcombine-code-sinking- Enable code sinkinghelp
--instcombine-guard-widening-window uint- How wide an instruction window to bypass looking for another guardhelp
--instcombine-max-iterations uint- Limit the maximum number of instruction combining iterationshelp
--instcombine-max-num-phis uint- Maximum number phis to handle in intptr/ptrint foldinghelp
--instcombine-max-sink-users uint- Maximum number of undroppable users for instruction sinkinghelp
--instcombine-maxarray-size uint- Maximum array size considered when doing a combinehelp
--instcombine-negator-enabled- Should we attempt to sink negations?help
--instcombine-negator-max-depth uint- What is the maximal lookup depth when trying to check for viability of negation sinking.help
--load pluginfilename- Load the specified pluginhelp
--lower-global-dtors-via-cxa-atexit- Lower llvm.global_dtors (global destructors) via __cxa_atexithelp
--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 layouthelp
--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 filehelp
--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 GNUhelp
--mir-strip-debugify-only- Should mir-strip-debug only strip debug info from debugified modules by defaulthelp
--misexpect-tolerance uint- Prevents emiting diagnostics when profile counts are within N% of the threshold..help
--mtriple string- Override target triple for modulehelp
--no-deprecated-warn- Suppress all deprecated warningshelp
--no-discriminators- Disable generation of discriminator information.help
--no-type-check- Suppress type errors (Wasm)help
--no-warn- Suppress all warningshelp
--no-xray-index- Don't emit xray_fn_idx sectionhelp
--nozero-initialized-in-bss- Don't place zero-initialized symbols into bss sectionhelp
-o filename- Output filenamehelp
--opaque-pointers- Use opaque pointershelp
--pass-remarks-filter regex- Only record optimization remarks from passes whose names match the given regular expressionhelp
--pass-remarks-format format- The format used for serializing remarks (default: YAML)help
--pass-remarks-output filename- Output filename for pass remarkshelp
--relax-elf-relocations- Emit GOTPCRELX/REX_GOTPCRELX instead of GOTPCREL on x86-64 ELFhelp
--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 outputhelp
--split-dwarf-output filename- .dwo output filenamehelp
--split-machine-functions- Split out cold basic blocks from machine functions based on profile informationhelp
--stack-size-section- Emit a section containing stack size metadatahelp
--stack-symbol-ordering- Order local stack symbols.help
--stackrealign- Force align the stack to the minimum alignmenthelp
--strict-dwarf- use strict dwarfhelp
--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 bithelp
--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 modelhelp
--time-trace- Record time tracehelp
--time-trace-file filename- Specify time trace file destinationhelp
--tls-size uint- Bit size of immediate TLS offsetshelp
--unique-basic-block-section-names- Give unique names to every basic block sectionhelp
--unique-section-names- Give unique names to every sectionhelp
--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 tablehelp
--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 programhelp

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.