X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=docs%2FCommandGuide%2Flli.pod;h=e9fdf74fe53ea7e849c8741717df34da089ff7ba;hb=52bb2db70998c42c99d22069ac66eb7bbb492f3a;hp=0f1fb96b2c3a1bcbce7c97257b1b37e37e44be8d;hpb=e993d20630de4c40eaa3dcca3da92d186c751d58;p=oota-llvm.git diff --git a/docs/CommandGuide/lli.pod b/docs/CommandGuide/lli.pod index 0f1fb96b2c3..e9fdf74fe53 100644 --- a/docs/CommandGuide/lli.pod +++ b/docs/CommandGuide/lli.pod @@ -2,34 +2,48 @@ =head1 NAME -lli - directly execute programs from LLVM bytecode +lli - directly execute programs from LLVM bitcode =head1 SYNOPSIS -lli [options] [filename] [args ...] +B [I] [I] [I] =head1 DESCRIPTION -B directly executes programs in LLVM bytecode format. It takes a program in -LLVM bytecode format and executes it using a just-in-time compiler, if one is -available for the current architecture, or an interpreter. B takes -all of the same code generator options as L, but they are only effective -when B is using the just-in-time compiler. +B directly executes programs in LLVM bitcode format. It takes a program +in LLVM bitcode format and executes it using a just-in-time compiler, if one is +available for the current architecture, or an interpreter. B takes all of +the same code generator options as L, but they are only effective when +B is using the just-in-time compiler. -If I is not specified, then B reads the LLVM bytecode for the +If I is not specified, then B reads the LLVM bitcode for the program from standard input. The optional I specified on the command line are passed to the program as arguments. -=head1 OPTIONS +=head1 GENERAL OPTIONS =over +=item B<-fake-argv0>=I + +Override the C value passed into the executing program. + +=item B<-force-interpreter>=I<{false,true}> + +If set to true, use the interpreter even if a just-in-time compiler is available +for this architecture. Defaults to false. + =item B<-help> Print a summary of command line options. +=item B<-load>=I + +Causes B to load the plugin (shared object) named I and use +it for optimization. + =item B<-stats> Print statistics from the code-generation passes. This is only meaningful for @@ -40,23 +54,149 @@ the just-in-time compiler, at present. Record the amount of time needed for each code-generation pass and print it to standard error. +=item B<-version> + +Print out the version of B and exit without doing anything else. + +=back + +=head1 TARGET OPTIONS + +=over + +=item B<-mtriple>=I + +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. + =item B<-march>=I -Use the specified non-default architecture arch when selecting a code generator -for the just-in-time compiler. This may result in a crash if you pick an -architecture which is not compatible with the hardware you are running B on. +Specify the architecture for which to generate assembly, overriding the target +encoded in the bitcode file. See the output of B for a list of +valid architectures. By default this is inferred from the target triple or +autodetected to the current architecture. -=item B<-force-interpreter>=I<{false,true}> +=item B<-mcpu>=I -If set to true, use the interpreter even if a just-in-time compiler is available -for this architecture. Defaults to false. +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: +B /dev/null | llc -march=xyz -mcpu=help> + +=item B<-mattr>=I + +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: +B /dev/null | llc -march=xyz -mattr=help> + +=back + + +=head1 FLOATING POINT OPTIONS + +=over + +=item B<-disable-excess-fp-precision> + +Disable optimizations that may increase floating point precision. + +=item B<-enable-finite-only-fp-math> + +Enable optimizations that assumes only finite floating point math. That is, +there is no NAN or Inf values. + +=item B<-enable-unsafe-fp-math> + +Causes B to enable optimizations that may decrease floating point +precision. + +=item B<-soft-float> + +Causes B to generate software floating point library calls instead of +equivalent hardware instructions. + +=back + +=head1 CODE GENERATION OPTIONS + +=over + +=item B<-code-model>=I + +Choose the code model from: + + default: Target default code model + small: Small code model + kernel: Kernel code model + medium: Medium code model + large: Large code model + +=item B<-disable-post-RA-scheduler> + +Disable scheduling after register allocation. + +=item B<-disable-spill-fusing> + +Disable fusing of spill code into instructions. + +=item B<-enable-correct-eh-support> + +Make the -lowerinvoke pass insert expensive, but correct, EH code. + +=item B<-enable-eh> + +Exception handling should be emitted. + +=item B<-join-liveintervals> + +Coalesce copies (default=true). + +=item B<-nozero-initialized-in-bss> +Don't place zero-initialized symbols into the BSS section. + +=item B<-pre-RA-sched>=I + +Instruction schedulers available (before register allocation): + + =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 + +=item B<-regalloc>=I + +Register allocator to use: (default = linearscan) + + =bigblock: Big-block register allocator + =linearscan: linear scan register allocator =local - local register allocator + =simple: simple register allocator + +=item B<-relocation-model>=I + +Choose relocation model from: + + =default: Target default relocation model + =static: Non-relocatable code =pic - Fully relocatable, position independent code + =dynamic-no-pic: Relocatable external references, non-relocatable code + +=item B<-spiller> + +Spiller to use: (default: local) + + =simple: simple spiller + =local: local spiller + +=item B<-x86-asm-syntax>=I -=item B<-f>=I +Choose style of code to emit from X86 backend: -Call the function named I to start the program. Note: The -function is assumed to have the C signature C I C<(int, -char **, char **)>. If you try to use this option to call a function of -incompatible type, undefined behavior may result. Defaults to C
. + =att: Emit AT&T-style assembly + =intel: Emit Intel-style assembly =back @@ -67,10 +207,10 @@ Otherwise, it will return the exit code of the program it executes. =head1 SEE ALSO -L +L =head1 AUTHOR -Maintained by the LLVM Team (L). +Maintained by the LLVM Team (L). =cut