.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. .TH LLI "1" "March 2018" "lli 6.0" "User Commands" .SH NAME lli \- manual page for lli 6.0 .SH DESCRIPTION OVERVIEW: llvm interpreter & dynamic compiler .PP USAGE: lli [options] ... .PP OPTIONS: .PP General options: .HP \fB\-O=\fR \- Optimization level. [\-O0, \fB\-O1\fR, \fB\-O2\fR, or \fB\-O3]\fR (default = '\-O2') .HP \fB\-aarch64\-neon\-syntax\fR \- Choose style of NEON code to emit from AArch64 backend: .TP =generic \- Emit generic NEON assembly .TP =apple \- Emit Apple\-style NEON assembly .HP \fB\-amdgpu\-dump\-hsa\-metadata\fR \- Dump AMDGPU HSA Metadata .HP \fB\-amdgpu\-enable\-merge\-m0\fR \- Merge and hoist M0 initializations .HP \fB\-amdgpu\-sdwa\-peephole\fR \- Enable SDWA peepholer .HP \fB\-amdgpu\-spill\-sgpr\-to\-smem\fR \- Use scalar stores to spill SGPRs if supported by subtarget .HP \fB\-amdgpu\-verify\-hsa\-metadata\fR \- Verify AMDGPU HSA Metadata .HP \fB\-amdgpu\-vgpr\-index\-mode\fR \- Use GPR indexing mode instead of movrel for vector indexing .HP \fB\-arm\-add\-build\-attributes\fR \- .HP \fB\-arm\-implicit\-it\fR \- Allow conditional instructions outdside of an IT block .TP =always \- Accept in both ISAs, emit implicit ITs in Thumb .TP =never \- Warn in ARM, reject in Thumb .TP =arm \- Accept in ARM, reject in Thumb .TP =thumb \- Warn in ARM, emit implicit ITs in Thumb .HP \fB\-asm\-instrumentation\fR \- Instrumentation of inline assembly and assembly source files .TP =none \- no instrumentation at all .TP =address \- instrument instructions with memory arguments .HP \fB\-asm\-show\-inst\fR \- Emit internal instruction representation to assembly file .TP \fB\-atomic\-counter\-update\-promoted\fR \- Do counter update using atomic fetch add for promoted counters only .HP \fB\-bounds\-checking\-single\-trap\fR \- Use one trap block per function .HP \fB\-code\-model\fR \- Choose code model .TP =small \- Small code model .TP =kernel \- Kernel code model .TP =medium \- Medium code model .TP =large \- Large code model .HP \fB\-color\fR \- use colored syntax highlighting (default=autodetect) .HP \fB\-cost\-kind\fR \- Target cost kind .TP =throughput \- Reciprocal throughput .TP =latency \- Instruction latency .TP =code\-size \- Code size .HP \fB\-cvp\-dont\-process\-adds\fR \- .HP \fB\-data\-sections\fR \- Emit data into separate sections .HP \fB\-debug\-counter\fR \- Comma separated list of debug counter skip and count .TP =predicateinfo\-rename \- Controls which variables are renamed with predicateinfo .TP =instcombine\-visit \- Controls which instructions are visited .TP =newgvn\-vn \- Controls which instructions are value numbered .TP =newgvn\-phi \- Controls which instructions we create phi of ops for .HP \fB\-debugger\-tune\fR \- Tune debug info for a particular debugger .TP =gdb \- gdb .TP =lldb \- lldb .TP =sce \- SCE targets (e.g. PS4) .HP \fB\-denormal\-fp\-math\fR \- Select which denormal numbers the code is permitted to require .TP =ieee \- IEEE 754 denormal numbers .TP =preserve\-sign \- the sign of a flushed\-to\-zero number is preserved in the sign of 0 .TP =positive\-zero \- denormals are flushed to positive zero .HP \fB\-disable\-fp\-elim\fR \- Disable frame pointer elimination optimization .HP \fB\-disable\-lazy\-compilation\fR \- Disable JIT lazy compilation .HP \fB\-disable\-tail\-calls\fR \- Never emit tail calls .HP \fB\-do\-counter\-promotion\fR \- Do counter register promotion .HP \fB\-dwarf\-version=\fR \- Dwarf version .HP \fB\-emulated\-tls\fR \- Use emulated TLS model .HP \fB\-enable\-cache\-manager\fR \- Use cache manager to save/load mdoules .HP \fB\-enable\-load\-pre\fR \- .HP \fB\-enable\-name\-compression\fR \- Enable name string compression .HP \fB\-enable\-no\-infs\-fp\-math\fR \- Enable FP math optimizations that assume no +\-Infs .HP \fB\-enable\-no\-nans\-fp\-math\fR \- Enable FP math optimizations that assume no NaNs .HP \fB\-enable\-no\-signed\-zeros\-fp\-math\fR \- Enable FP math optimizations that assume the sign of 0 is insignificant .HP \fB\-enable\-no\-trapping\-fp\-math\fR \- Enable setting the FP exceptions build attribute not to use exceptions .HP \fB\-enable\-packed\-inlinable\-literals\fR \- Enable packed inlinable literals (v2f16, v2i16) .HP \fB\-enable\-si\-insert\-waitcnts\fR \- Use new waitcnt insertion pass .HP \fB\-enable\-unsafe\-fp\-math\fR \- Enable optimizations that may decrease FP precision .HP \fB\-entry\-function=\fR \- Specify the entry function (default = 'main') of the executable .HP \fB\-exception\-model\fR \- exception model .TP =default \- default exception handling model .TP =dwarf \- DWARF\-like CFI based exception handling .TP =sjlj \- SjLj exception handling .TP =arm \- ARM EHABI exceptions .TP =wineh \- Windows exception model .HP \fB\-expensive\-combines\fR \- Enable expensive instruction combines .HP \fB\-extra\-archive=\fR \- Extra archive files to be loaded .HP \fB\-extra\-module=\fR \- Extra modules to be loaded .HP \fB\-extra\-object=\fR \- Extra object files to be loaded .HP \fB\-fake\-argv0=\fR \- Override the 'argv[0]' value passed into the executing program .HP \fB\-fatal\-warnings\fR \- Treat warnings as errors .HP \fB\-filetype\fR \- Choose a file type (not all types are supported by all targets): .TP =asm \- Emit an assembly ('.s') file .TP =obj \- Emit a native object ('.o') file .TP =null \- Emit nothing, for performance testing .HP \fB\-float\-abi\fR \- Choose float ABI type .TP =default \- Target default float ABI type .TP =soft \- Soft float ABI (implied by \fB\-soft\-float\fR) .TP =hard \- Hard float ABI (uses FP registers) .HP \fB\-force\-interpreter\fR \- Force interpretation: disable JIT .HP \fB\-fp\-contract\fR \- Enable aggressive formation of fused FP ops .TP =fast \- Fuse FP ops whenever profitable .TP =on \- Only fuse 'blessed' FP ops. .TP =off \- Only fuse FP ops when the result won't be affected. .HP \fB\-function\-sections\fR \- Emit functions into separate sections .TP \fB\-gpsize=\fR \- Global Pointer Addressing Size. The default size is 8. .HP \fB\-hash\-based\-counter\-split\fR \- Rename counter variable of a comdat function based on cfg hash .HP \fB\-import\-all\-index\fR \- Import all external functions in index. .HP \fB\-incremental\-linker\-compatible\fR \- When used with filetype=obj, emit an object file which can be used with an incremental linker .HP \fB\-instcombine\-maxarray\-size=\fR \- Maximum array size considered when doing a combine .HP \fB\-internalize\-public\-api\-file=\fR \- A file containing list of symbol names to preserve .HP \fB\-internalize\-public\-api\-list=\fR \- A list of symbol names to preserve .HP \fB\-iterative\-counter\-promotion\fR \- Allow counter promotion across the whole loop nest. .HP \fB\-jit\-kind\fR \- Choose underlying JIT kind. .TP =mcjit \- MCJIT .TP =orc\-mcjit \- Orc\-based MCJIT replacement .TP =orc\-lazy \- Orc\-based lazy JIT. .HP \fB\-load=\fR \- Load the specified plugin .HP \fB\-lto\-pass\-remarks\-output=\fR \- Output filename for pass remarks .HP \fB\-march=\fR \- Architecture to generate code for (see \fB\-\-version\fR) .HP \fB\-mattr=\fR \- Target specific attributes (\fB\-mattr\fR=\fI\,help\/\fR for details) .HP \fB\-max\-counter\-promotions=\fR \- Max number of allowed counter promotions .HP \fB\-max\-counter\-promotions\-per\-loop=\fR \- Max number counter promotions per loop to avoid increasing register pressure too much .HP \fB\-mc\-relax\-all\fR \- When used with filetype=obj, relax all fixups in the emitted object file .TP \fB\-mcjit\-remote\-process=\fR \- Specify the filename of the process to launch for remote MCJIT execution. If none is specified, remote execution will be simulated in\-process. .HP \fB\-mcpu=\fR \- Target a specific cpu type (\fB\-mcpu\fR=\fI\,help\/\fR for details) .HP \fB\-meabi\fR \- Set EABI type (default depends on triple): .TP =default \- Triple default EABI version .TP =4 \- EABI version 4 .TP =5 \- EABI version 5 .TP =gnu \- EABI GNU .HP \fB\-memop\-size\-large=\fR \- Set large value thresthold in memory intrinsic size profiling. Value of 0 disables the large value profiling. .HP \fB\-memop\-size\-range=\fR \- Set the range of size in memory intrinsic calls to be profiled precisely, in a format of : .HP \fB\-merror\-missing\-parenthesis\fR \- Error for missing parenthesis around predicate registers .HP \fB\-merror\-noncontigious\-register\fR \- Error for register names that aren't contigious .HP \fB\-mhvx\fR \- Enable Hexagon Vector eXtensions .TP =v60 \- Build for HVX v60 .TP =v62 \- Build for HVX v62 .TP =v65 \- Build for HVX v65 .TP = \- .HP \fB\-mips\-compact\-branches\fR \- MIPS Specific: Compact branch policy. .TP =never \- Do not use compact branches if possible. .TP =optimal \- Use compact branches where appropiate (default). .TP =always \- Always use compact branches if possible. .HP \fB\-mips16\-constant\-islands\fR \- Enable mips16 constant islands. .HP \fB\-mips16\-hard\-float\fR \- Enable mips16 hard float. .HP \fB\-mno\-compound\fR \- Disable looking for compound instructions for Hexagon .HP \fB\-mno\-fixup\fR \- Disable fixing up resolved relocations for Hexagon .HP \fB\-mno\-ldc1\-sdc1\fR \- Expand double precision loads and stores to their single precision counterparts .HP \fB\-mno\-pairing\fR \- Disable looking for duplex instructions for Hexagon .HP \fB\-mtriple=\fR \- Override target triple for module .HP \fB\-mwarn\-missing\-parenthesis\fR \- Warn for missing parenthesis around predicate registers .HP \fB\-mwarn\-noncontigious\-register\fR \- Warn for register names that arent contigious .HP \fB\-mwarn\-sign\-mismatch\fR \- Warn for mismatching a signed and unsigned value .HP \fB\-no\-deprecated\-warn\fR \- Suppress all deprecated warnings .HP \fB\-no\-discriminators\fR \- Disable generation of discriminator information. .HP \fB\-no\-warn\fR \- Suppress all warnings .HP \fB\-nozero\-initialized\-in\-bss\fR \- Don't place zero\-initialized symbols into bss section .HP \fB\-nvptx\-sched4reg\fR \- NVPTX Specific: schedule for register pressue .HP \fB\-object\-cache\-dir=\fR \- Directory to store cached object files (must be user writable) .HP \fB\-pie\-copy\-relocations\fR \- PIE Copy Relocations .HP \fB\-print\-module\-scope\fR \- When printing IR for print\-[before|after]{\-all} always print a module IR .HP \fB\-r600\-ir\-structurize\fR \- Use StructurizeCFG IR pass .HP \fB\-rdf\-dump\fR \- .HP \fB\-rdf\-limit=\fR \- .HP \fB\-relax\-elf\-relocations\fR \- Emit GOTPCRELX/REX_GOTPCRELX instead of GOTPCREL on x86\-64 ELF .HP \fB\-relocation\-model\fR \- Choose relocation model .TP =static \- Non\-relocatable code .TP =pic \- Fully relocatable, position independent code .TP =dynamic\-no\-pic \- Relocatable external references, non\-relocatable code .TP =ropi \- Code and read\-only data relocatable, accessed PC\-relative .TP =rwpi \- Read\-write data relocatable, accessed relative to static base .TP =ropi\-rwpi \- Combination of ropi and rwpi .HP \fB\-remote\-mcjit\fR \- Execute MCJIT'ed code in a separate process. .HP \fB\-safepoint\-ir\-verifier\-print\-only\fR \- .HP \fB\-sample\-profile\-check\-record\-coverage=\fR \- Emit a warning if less than N% of records in the input profile are matched to the IR. .HP \fB\-sample\-profile\-check\-sample\-coverage=\fR \- Emit a warning if less than N% of samples in the input profile are matched to the IR. .HP \fB\-sample\-profile\-inline\-hot\-threshold=\fR \- Inlined functions that account for more than N% of all samples collected in the parent function, will be inlined again. .HP \fB\-sample\-profile\-max\-propagate\-iterations=\fR \- Maximum number of iterations to go through when propagating sample block/edge weights through the CFG. .HP \fB\-soft\-float\fR \- Generate software floating point library calls .TP \fB\-speculative\-counter\-promotion\-max\-exiting=\fR \- The max number of exiting blocks of a loop to allow speculative counter promotion .TP \fB\-speculative\-counter\-promotion\-to\-loop\fR \- 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. .HP \fB\-stack\-alignment=\fR \- Override default stack alignment .HP \fB\-stack\-size\-section\fR \- Emit a section containing stack size metadata .HP \fB\-stack\-symbol\-ordering\fR \- Order local stack symbols. .HP \fB\-stackrealign\fR \- Force align the stack to the minimum alignment .HP \fB\-summary\-file=\fR \- The summary file to use for function importing. .HP \fB\-tailcallopt\fR \- Turn fastcc calls into tail calls by (potentially) changing ABI. .HP \fB\-thread\-model\fR \- Choose threading model .TP =posix \- POSIX thread model .TP =single \- Single thread model .HP \fB\-threads=\fR \- .HP \fB\-unfold\-element\-atomic\-memcpy\-max\-elements=\fR \- Maximum number of elements in atomic memcpy the optimizer is allowed to unfold .HP \fB\-unique\-section\-names\fR \- Give unique names to every section .HP \fB\-use\-ctors\fR \- Use .ctors instead of .init_array. .HP \fB\-verify\-region\-info\fR \- Verify region info (time consuming) .HP \fB\-vp\-counters\-per\-site=\fR \- The average number of profile counters allocated per value profiling site. .HP \fB\-vp\-static\-alloc\fR \- Do static counter allocation for value profiler .PP Generic Options: .HP \fB\-help\fR \- Display available options (\fB\-help\-hidden\fR for more) .HP \fB\-help\-list\fR \- Display list of available options (\fB\-help\-list\-hidden\fR for more) .HP \fB\-version\fR \- Display the version of this program .SH "SEE ALSO" The full documentation for .B lli is maintained as a Texinfo manual. If the .B info and .B lli programs are properly installed at your site, the command .IP .B info lli .PP should give you access to the complete manual.