You've already forked linux-packaging-mono
Imported Upstream version 5.18.0.205
Former-commit-id: 7f59f7e792705db773f1caecdaa823092f4e2927
This commit is contained in:
parent
5cd5df71cc
commit
8e12397d70
214
external/llvm/docs/CommandGuide/lli.rst
vendored
Normal file
214
external/llvm/docs/CommandGuide/lli.rst
vendored
Normal file
@ -0,0 +1,214 @@
|
||||
lli - directly execute programs from LLVM bitcode
|
||||
=================================================
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
||||
:program:`lli` [*options*] [*filename*] [*program args*]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
:program:`lli` directly executes programs in LLVM bitcode format. It takes a program
|
||||
in LLVM bitcode format and executes it using a just-in-time compiler or an
|
||||
interpreter.
|
||||
|
||||
:program:`lli` is *not* an emulator. It will not execute IR of different architectures
|
||||
and it can only interpret (or JIT-compile) for the host architecture.
|
||||
|
||||
The JIT compiler takes the same arguments as other tools, like :program:`llc`,
|
||||
but they don't necessarily work for the interpreter.
|
||||
|
||||
If `filename` is not specified, then :program:`lli` reads the LLVM bitcode for the
|
||||
program from standard input.
|
||||
|
||||
The optional *args* specified on the command line are passed to the program as
|
||||
arguments.
|
||||
|
||||
GENERAL OPTIONS
|
||||
---------------
|
||||
|
||||
.. option:: -fake-argv0=executable
|
||||
|
||||
Override the ``argv[0]`` value passed into the executing program.
|
||||
|
||||
.. option:: -force-interpreter={false,true}
|
||||
|
||||
If set to true, use the interpreter even if a just-in-time compiler is available
|
||||
for this architecture. Defaults to false.
|
||||
|
||||
.. option:: -help
|
||||
|
||||
Print a summary of command line options.
|
||||
|
||||
.. option:: -load=pluginfilename
|
||||
|
||||
Causes :program:`lli` to load the plugin (shared object) named *pluginfilename* and use
|
||||
it for optimization.
|
||||
|
||||
.. option:: -stats
|
||||
|
||||
Print statistics from the code-generation passes. This is only meaningful for
|
||||
the just-in-time compiler, at present.
|
||||
|
||||
.. option:: -time-passes
|
||||
|
||||
Record the amount of time needed for each code-generation pass and print it to
|
||||
standard error.
|
||||
|
||||
.. option:: -version
|
||||
|
||||
Print out the version of :program:`lli` and exit without doing anything else.
|
||||
|
||||
TARGET OPTIONS
|
||||
--------------
|
||||
|
||||
.. option:: -mtriple=target triple
|
||||
|
||||
Override the target triple specified in the input bitcode file with the
|
||||
specified string. This may result in a crash if you pick an
|
||||
architecture which is not compatible with the current system.
|
||||
|
||||
.. option:: -march=arch
|
||||
|
||||
Specify the architecture for which to generate assembly, overriding the target
|
||||
encoded in the bitcode file. See the output of **llc -help** for a list of
|
||||
valid architectures. By default this is inferred from the target triple or
|
||||
autodetected to the current architecture.
|
||||
|
||||
.. option:: -mcpu=cpuname
|
||||
|
||||
Specify a specific chip in the current architecture to generate code for.
|
||||
By default this is inferred from the target triple and autodetected to
|
||||
the current architecture. For a list of available CPUs, use:
|
||||
**llvm-as < /dev/null | llc -march=xyz -mcpu=help**
|
||||
|
||||
.. option:: -mattr=a1,+a2,-a3,...
|
||||
|
||||
Override or control specific attributes of the target, such as whether SIMD
|
||||
operations are enabled or not. The default set of attributes is set by the
|
||||
current CPU. For a list of available attributes, use:
|
||||
**llvm-as < /dev/null | llc -march=xyz -mattr=help**
|
||||
|
||||
FLOATING POINT OPTIONS
|
||||
----------------------
|
||||
|
||||
.. option:: -disable-excess-fp-precision
|
||||
|
||||
Disable optimizations that may increase floating point precision.
|
||||
|
||||
.. option:: -enable-no-infs-fp-math
|
||||
|
||||
Enable optimizations that assume no Inf values.
|
||||
|
||||
.. option:: -enable-no-nans-fp-math
|
||||
|
||||
Enable optimizations that assume no NAN values.
|
||||
|
||||
.. option:: -enable-unsafe-fp-math
|
||||
|
||||
Causes :program:`lli` to enable optimizations that may decrease floating point
|
||||
precision.
|
||||
|
||||
.. option:: -soft-float
|
||||
|
||||
Causes :program:`lli` to generate software floating point library calls instead of
|
||||
equivalent hardware instructions.
|
||||
|
||||
CODE GENERATION OPTIONS
|
||||
-----------------------
|
||||
|
||||
.. option:: -code-model=model
|
||||
|
||||
Choose the code model from:
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
default: Target default code model
|
||||
small: Small code model
|
||||
kernel: Kernel code model
|
||||
medium: Medium code model
|
||||
large: Large code model
|
||||
|
||||
.. option:: -disable-post-RA-scheduler
|
||||
|
||||
Disable scheduling after register allocation.
|
||||
|
||||
.. option:: -disable-spill-fusing
|
||||
|
||||
Disable fusing of spill code into instructions.
|
||||
|
||||
.. option:: -jit-enable-eh
|
||||
|
||||
Exception handling should be enabled in the just-in-time compiler.
|
||||
|
||||
.. option:: -join-liveintervals
|
||||
|
||||
Coalesce copies (default=true).
|
||||
|
||||
.. option:: -nozero-initialized-in-bss
|
||||
|
||||
Don't place zero-initialized symbols into the BSS section.
|
||||
|
||||
.. option:: -pre-RA-sched=scheduler
|
||||
|
||||
Instruction schedulers available (before register allocation):
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
=default: Best scheduler for the target
|
||||
=none: No scheduling: breadth first sequencing
|
||||
=simple: Simple two pass scheduling: minimize critical path and maximize processor utilization
|
||||
=simple-noitin: Simple two pass scheduling: Same as simple except using generic latency
|
||||
=list-burr: Bottom-up register reduction list scheduling
|
||||
=list-tdrr: Top-down register reduction list scheduling
|
||||
=list-td: Top-down list scheduler -print-machineinstrs - Print generated machine code
|
||||
|
||||
.. option:: -regalloc=allocator
|
||||
|
||||
Register allocator to use (default=linearscan)
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
=bigblock: Big-block register allocator
|
||||
=linearscan: linear scan register allocator =local - local register allocator
|
||||
=simple: simple register allocator
|
||||
|
||||
.. option:: -relocation-model=model
|
||||
|
||||
Choose relocation model from:
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
=default: Target default relocation model
|
||||
=static: Non-relocatable code =pic - Fully relocatable, position independent code
|
||||
=dynamic-no-pic: Relocatable external references, non-relocatable code
|
||||
|
||||
.. option:: -spiller
|
||||
|
||||
Spiller to use (default=local)
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
=simple: simple spiller
|
||||
=local: local spiller
|
||||
|
||||
.. option:: -x86-asm-syntax=syntax
|
||||
|
||||
Choose style of code to emit from X86 backend:
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
=att: Emit AT&T-style assembly
|
||||
=intel: Emit Intel-style assembly
|
||||
|
||||
EXIT STATUS
|
||||
-----------
|
||||
|
||||
If :program:`lli` fails to load the program, it will exit with an exit code of 1.
|
||||
Otherwise, it will return the exit code of the program it executes.
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
|
||||
:program:`llc`
|
Reference in New Issue
Block a user