summaryrefslogtreecommitdiff
path: root/docs/CommandGuide
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2007-08-07 17:12:43 +0000
committerReid Spencer <rspencer@reidspencer.com>2007-08-07 17:12:43 +0000
commitacafa2d4c200465da129607f27b998f8fe745e97 (patch)
treed000daf9e41505911080bde40204e5aaef6322b9 /docs/CommandGuide
parentba1a750f1dc11baba3c3b7c238ca5f1fcce25060 (diff)
downloadllvm-acafa2d4c200465da129607f27b998f8fe745e97.tar.gz
llvm-acafa2d4c200465da129607f27b998f8fe745e97.tar.bz2
llvm-acafa2d4c200465da129607f27b998f8fe745e97.tar.xz
Add the code generation options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40900 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/CommandGuide')
-rw-r--r--docs/CommandGuide/lli.pod119
1 files changed, 119 insertions, 0 deletions
diff --git a/docs/CommandGuide/lli.pod b/docs/CommandGuide/lli.pod
index 3ef9b2a400..bf00bbe84f 100644
--- a/docs/CommandGuide/lli.pod
+++ b/docs/CommandGuide/lli.pod
@@ -115,6 +115,125 @@ equivalent hardware instructions.
=back
+=head1 CODE GENERATION OPTIONS
+
+=over
+
+=item B<-code-model>=I<model>
+
+Choose the code model from:
+
+=over
+
+=item I<default>: Target default code model
+
+=item I<small>: Small code model
+
+=item I<kernel>: Kernel code model
+=item I<medium>: Medium code model
+=item I<large>: Large code model
+
+=back
+
+=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<scheduler>
+
+Instruction schedulers available (before register allocation):
+
+=over
+
+=item I<=default>: Best scheduler for the target
+
+=item I<=none>: No scheduling: breadth first sequencing
+
+=item I<=simple>: Simple two pass scheduling: minimize critical path and maximize processor utilization
+
+=item I<=simple-noitin>: Simple two pass scheduling: Same as simple except using generic latency
+
+=item I<=list-burr>: Bottom-up register reduction list scheduling
+
+=item I<=list-tdrr>: Top-down register reduction list scheduling
+
+=item I<=list-td>: Top-down list scheduler -print-machineinstrs - Print generated machine code
+
+=back
+
+=item B<-regalloc>=I<allocator>
+
+Register allocator to use: (default = linearscan)
+
+=over
+
+=item I<=bigblock>: Big-block register allocator
+
+=item I<=linearscan>: linear scan register allocator =local - local register allocator
+
+=item I<=simple>: simple register allocator
+
+=back
+
+=item B<-relocation-model>=I<model>
+
+Choose relocation model from:
+
+=over
+
+=item I<=default>: Target default relocation model
+
+=item I<=static>: Non-relocatable code =pic - Fully relocatable, position independent code
+
+=item I<=dynamic-no-pic>: Relocatable external references, non-relocatable code
+
+=back
+
+=item B<-spiller>
+
+Spiller to use: (default: local)
+
+=over
+
+=item I<=simple>: simple spiller
+
+=item I<=local>: local spiller
+
+=back
+
+=item B<-x86-asm-syntax>=I<syntax>
+
+Choose style of code to emit from X86 backend:
+
+=over
+
+=item I<=att>: Emit AT&T-style assembly
+
+=item I<=intel>: Emit Intel-style assembly
+
+=back
+
+=back
+
=head1 EXIT STATUS
If B<lli> fails to load the program, it will exit with an exit code of 1.