aboutsummaryrefslogtreecommitdiff
path: root/docs/CommandGuide/llc.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/CommandGuide/llc.html')
-rw-r--r--docs/CommandGuide/llc.html81
1 files changed, 68 insertions, 13 deletions
diff --git a/docs/CommandGuide/llc.html b/docs/CommandGuide/llc.html
index 812f28a80b..26e680342c 100644
--- a/docs/CommandGuide/llc.html
+++ b/docs/CommandGuide/llc.html
@@ -20,7 +20,7 @@ llc
SYNOPSIS
</h3>
-llc [options] &lt; filename&gt;
+llc [options] [filename]
<h3>
DESCRIPTION
</h3>
@@ -28,6 +28,62 @@ DESCRIPTION
The llc command compiles LLVM bytecode into assembly language for a specified
architecture. The assembly language output can then be passed through a native
assembler and linker to generate native code.
+<p>
+The choice of architecture for the output assembly code is determined as
+follows:
+
+<ul>
+ <li>
+ If the user has specified an architecture with the -m option, use that
+ architecture.
+ <p>
+
+ <li>
+ Examine the input LLVM bytecode file:
+ <ul>
+ <li>
+ If it specifies little endian and a pointer size of 32 bits, select the
+ x86 architecture.
+ <p>
+
+ <li>
+ If it specifies big endian and a pointer size of 64 bit pointers,
+ select the SparcV9 architecture.
+ </ul>
+ <p>
+
+ <li>
+ If llc was compiled on an architecture for which it can generate code,
+ select the architecture upon which llc was compiled.
+ <p>
+
+ <li>
+ Print a message to the user asking him or her to specify the output
+ architecture explicitly.
+</ul>
+
+<p>
+
+If filename is not specified, or if filename is -, llc reads its input from
+standard input. Otherwise, it will read its input from filename.
+<p>
+
+If the -o option is left unspecified, then llc will send its output to standard
+output if the input is from standard input. If the -o option specifies -, then
+the output will also be sent to standard output.
+<p>
+
+If no -o option is specified and an input file other than - is specified, then
+llc creates the output filename as follows:
+
+<ul>
+ <li>
+ If the file ends in .bc, then the .bc suffix is removed, and the .s suffix
+ is appended.
+ <p>
+ <li>
+ Otherwise, the .s suffix is appended to the input filename.
+</ul>
<h3>
OPTIONS
@@ -36,42 +92,42 @@ OPTIONS
<ul>
<li>-disable-fp-elim
<br>
- Disable frame pointer elimination optimization
+ Disable frame pointer elimination optimization.
<p>
<li>-disable-local-ra
<br>
- Use Simple RA instead of Local RegAlloc
+ Use Simple RA instead of Local RegAlloc.
<p>
<li>-disable-pattern-isel
<br>
- Use the 'simple' X86 instruction selector
+ Use the 'simple' X86 instruction selector.
<p>
<li>-disable-peephole
<br>
- Disable peephole optimization pass
+ Disable peephole optimization pass.
<p>
<li>-disable-preopt
<br>
- Disable optimizations prior to instruction selection
+ Disable optimizations prior to instruction selection.
<p>
<li>-disable-sched
<br>
- Disable local scheduling pass
+ Disable local scheduling pass.
<p>
<li>-disable-strip
<br>
- Do not strip the LLVM bytecode included in executable
+ Do not strip the LLVM bytecode included in executable.
<p>
<li>-enable-maps
<br>
- Emit LLVM-to-MachineCode mapping info to assembly
+ Emit LLVM-to-MachineCode mapping info to assembly.
<p>
<li>-f
@@ -81,13 +137,12 @@ OPTIONS
<li>-load=&lt;plugin.so&gt;
<br>
- Load the specified plugin
+ Load the specified plugin.
<p>
<li>-m&lt;arch&gt;
<br>
Specify the architecture for which to generate assembly. Valid
- <p>
architectures are:
<dl compact>
@@ -103,12 +158,12 @@ OPTIONS
<li>-o &lt;filename&gt;
<br>
- Output filename
+ Specify the output filename.
<p>
<li>-print-machineinstrs
<br>
- Print generated machine code
+ Print generated machine code.
<p>
<li> -help