aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorJohn Criswell <criswell@uiuc.edu>2003-09-11 19:58:03 +0000
committerJohn Criswell <criswell@uiuc.edu>2003-09-11 19:58:03 +0000
commitecf32e533594f895e91314cba092368ab0224469 (patch)
tree2978747369461b5285b28f0a5408cdc634b4f1d4 /docs
parent2f2d06506c9167dada05b11debe717334de972d4 (diff)
downloadexternal_llvm-ecf32e533594f895e91314cba092368ab0224469.zip
external_llvm-ecf32e533594f895e91314cba092368ab0224469.tar.gz
external_llvm-ecf32e533594f895e91314cba092368ab0224469.tar.bz2
Adding a skeleton for the LLVM Command Guide.
Hopefully the group as a whole will update this into a real guide. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8483 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r--docs/CommandGuide/analyze.html87
-rw-r--r--docs/CommandGuide/gccas.html81
-rw-r--r--docs/CommandGuide/gccld.html124
-rw-r--r--docs/CommandGuide/index.html85
-rw-r--r--docs/CommandGuide/lli.html80
-rw-r--r--docs/CommandGuide/llvm-as.html83
-rw-r--r--docs/CommandGuide/llvm-dis.html89
-rw-r--r--docs/CommandGuide/opt.html116
8 files changed, 745 insertions, 0 deletions
diff --git a/docs/CommandGuide/analyze.html b/docs/CommandGuide/analyze.html
new file mode 100644
index 0000000..76bc6fb
--- /dev/null
+++ b/docs/CommandGuide/analyze.html
@@ -0,0 +1,87 @@
+<html>
+<title>
+analyze
+</title>
+
+<body>
+
+<center>
+<h1>Low Level Virtual Machine</h1>
+</center>
+<HR>
+
+<h3>
+NAME
+</h3>
+
+analyze
+
+<h3>
+SYNOPSIS
+</h3>
+
+analyze [options] &lt; filename&gt;
+<h3>
+DESCRIPTION
+</h3>
+
+The analyze command performs various analysis of LLVM bytecode. It will
+usually print the results on standard output, but in a few cases it will print
+output to standard error or generate a file with the analysis output (which is
+usually done when generating output for another program).
+<h3>
+OPTIONS
+</h3>
+
+<ul>
+ <li> -help
+ <br>
+ Print a summary of command line options.
+ <p>
+
+ <li> -stats
+ <br>
+ Print statistics.
+ <p>
+
+ <li> -time-passes
+ <br>
+ Record the amount of time needed for each pass and print it to standard
+ error.
+ <p>
+
+ <li> -q
+ <br>
+ Quiet mode. With this option, analysis pass names are not printed.
+ <p>
+
+ <li> -load &lt;plugin.so&gt;
+ <br>
+ Load the specified dynamic object with name plugin.so. This file
+ should contain additional analysis passes that register themselves with
+ the analyze program after being loaded.
+ <p>
+ After being loaded, additional command line options are made available
+ for running additional analysis passes. Use analyse -load
+ &lt;plugin.so&gt; -help to list the new list of available analysis
+ passes.
+ <p>
+</ul>
+
+<h3>
+EXIT STATUS
+</h3>
+
+If analyze succeeds, it will exit with 0. Otherwise, if an error occurs, it
+will exit with a non-zero value.
+
+<h3>
+SEE ALSO
+</h3>
+opt
+
+<HR>
+University of Illinois at Urbana-Champaign
+</body>
+</html>
+
diff --git a/docs/CommandGuide/gccas.html b/docs/CommandGuide/gccas.html
new file mode 100644
index 0000000..d1dbb75
--- /dev/null
+++ b/docs/CommandGuide/gccas.html
@@ -0,0 +1,81 @@
+<html>
+<title>
+gccas
+</title>
+
+<body>
+
+<center>
+<h1>Low Level Virtual Machine</h1>
+</center>
+<HR>
+
+<h3>
+NAME
+</h3>
+
+gccas
+
+<h3>
+SYNOPSIS
+</h3>
+
+gccas [options] &lt; filename&gt;
+<h3>
+DESCRIPTION
+</h3>
+
+The gccas utility takes an LLVM assembly file generated by GCC and converts it
+into an LLVM bytecode file. It is primarily used by the GCC front end, and as
+such, attempts to mimic the interface provided by the default system assembler
+so that it can act as a "drop-in" replacement.
+
+<h3>
+OPTIONS
+</h3>
+
+<ul>
+ <li> -help
+ <br>
+ Print a summary of command line options.
+ <p>
+
+ <li> -o &lt;filename&gt;
+ <br>
+ Specify the output filename which will hold the assembled bytecode.
+ <p>
+
+ <li> -stats
+ <br>
+ Print statistics.
+ <p>
+
+ <li> -time-passes
+ <br>
+ Record the amount of time needed for each pass and print it to standard
+ error.
+ <p>
+
+ <li> -verify
+ <br>
+ Verify each pass result.
+ <p>
+</ul>
+
+<h3>
+EXIT STATUS
+</h3>
+
+If gccas succeeds, it will exit with 0. Otherwise, if an error occurs, it
+will exit with a non-zero value.
+
+<h3>
+SEE ALSO
+</h3>
+llvm-dis
+
+<HR>
+University of Illinois at Urbana-Champaign
+</body>
+</html>
+
diff --git a/docs/CommandGuide/gccld.html b/docs/CommandGuide/gccld.html
new file mode 100644
index 0000000..15a4f5f
--- /dev/null
+++ b/docs/CommandGuide/gccld.html
@@ -0,0 +1,124 @@
+<html>
+<title>
+gccld
+</title>
+
+<body>
+
+<center>
+<h1>Low Level Virtual Machine</h1>
+</center>
+<HR>
+
+<h3>
+NAME
+</h3>
+
+gccld
+
+<h3>
+SYNOPSIS
+</h3>
+
+gccld [options] &lt; filename&gt;
+<h3>
+DESCRIPTION
+</h3>
+
+The gccld utility takes a set of LLVM bytecode files GCC and links them
+together into a single LLVM bytecode file. It will link in any LLVM bytecode
+libraries that are necessary to make a single LLVM "bytecode executable."
+<p>
+The gccld utility is primarily used by the GCC front end, and as such, attempts
+to mimic the interface provided by the default system linker so that it can act
+as a "drop-in" replacement.
+
+<h3>
+OPTIONS
+</h3>
+
+<ul>
+ <li> -help
+ <br>
+ Print a summary of command line options.
+ <p>
+
+ <li> -o &lt;filename&gt;
+ <br>
+ Specify the output filename which will hold the assembled bytecode.
+ <p>
+
+ <li> -stats
+ <br>
+ Print statistics.
+ <p>
+
+ <li> -time-passes
+ <br>
+ Record the amount of time needed for each pass and print it to standard
+ error.
+ <p>
+
+ <li> -verify
+ <br>
+ Verify each pass result.
+ <p>
+
+ <li> -L=&lt;directory&gt;
+ <br>
+ Add directory to the list of directories to search when looking for
+ libraries.
+ <p>
+
+ <li> -disable-internalize
+ <br>
+ Do not mark all symbols as internal.
+ <p>
+
+ <li> -internalize-public-api-file &lt;filename&gt;
+ <br>
+ Preserve the list of symbol names in the file filename.
+ <p>
+
+ <li> -internalize-public-api-list &lt;list&gt;
+ <br>
+ Preserve the symbol names in list.
+ <p>
+
+ <li> -l=&lt;library prefix&gt;
+ <br>
+ Specify libraries to link to
+ <p>
+
+ <li> -link-as-library
+ <br>
+ Link the .bc files together as a library, not an executable.
+ <p>
+
+ <li> -s
+ <br>
+ Strip symbol information from the generated executable.
+ <p>
+
+ <li> -v
+ <br>
+ Print information about actions taken.
+</ul>
+
+<h3>
+EXIT STATUS
+</h3>
+
+If gccld succeeds, it will exit with 0. Otherwise, if an error occurs, it
+will exit with a non-zero value.
+
+<h3>
+SEE ALSO
+</h3>
+llvm-dis
+
+<HR>
+University of Illinois at Urbana-Champaign
+</body>
+</html>
+
diff --git a/docs/CommandGuide/index.html b/docs/CommandGuide/index.html
new file mode 100644
index 0000000..fcb4904
--- /dev/null
+++ b/docs/CommandGuide/index.html
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>LLVM Command Guide</title>
+ </head>
+
+ <body bgcolor=white>
+
+ <center><h1>LLVM Command Guide<br></h1></center>
+
+ <!--===============================================================-->
+ <h2><a name="a">Overview</a><hr></h2>
+ <!--===============================================================-->
+
+ This document is the reference manual for the LLVM utilities. It will
+ show you how to use the LLVM commands and what all of their options
+ are.
+
+ <!--===============================================================-->
+ <h2><a name="llvmcmds">LLVM Commands</a><hr></h2>
+ <!--===============================================================-->
+
+ <dl compact>
+ <dt><A href="CommandGuide/bugpoint.html"><b>bugpoint</b></A>
+ <dd>
+ Trace an LLVM bytecode program and reduce its failure to a
+ simple testcase.
+ <p>
+
+ <dt><A href="CommandGuide/llvmas.html"><b>as</b></A>
+ <dt><A href="CommandGuide/llvmas.html"><b>llvm-as</b></A>
+ <dd>
+ Assemble a human-readable LLVM program into LLVM bytecode.
+ <p>
+
+ <dt><A href="CommandGuide/llvmdis.html"><b>dis</b></A>
+ <dt><A href="CommandGuide/llvmdis.html"><b>llvm-dis</b></A>
+ <dd>
+ Disassemble an LLVM bytecode file into human-readable form.
+ <p>
+
+ <dt><A href="CommandGuide/extract.html"><b>extract</b></A>
+ <dd>
+ Extract a function from an LLVM bytecode file.
+ <p>
+
+ <dt><A href="CommandGuide/analyze.html"><b>analyze</b></A>
+ <dd>
+ Analyze an LLVM bytecode file.
+ <p>
+
+ <dt><A href="CommandGuide/opt.html"><b>opt</b></A>
+ <dd>
+ Optimize an LLVM bytecode file.
+ <p>
+
+ <dt><A href="CommandGuide/link.html"><b>link</b></A>
+ <dd>
+ Link several LLVM bytecode files together into one LLVM
+ bytecode file.
+ <p>
+
+ <dt><A href="CommandGuide/gccas.html"><b>gccas</b></A>
+ <dd>
+ LLVM assembler used by GCC and other native compiler tools.
+ <p>
+
+ <dt><A href="CommandGuide/gccld.html"><b>gccld</b></A>
+ <dd>
+ LLVM linker used by GCC and other native compiler tools.
+ <p>
+
+ <dt><A href="CommandGuide/llc.html"><b>llc</b></A>
+ <dd>
+ Compile an LLVM bytecode program into native machine code.
+
+ <dt><A href="CommandGuide/lli.html"><b>lli</b></A>
+ <dd>
+ Run an LLVM bytecode program using either an interpreter or a
+ JIT compiler.
+ <p>
+ </dl>
+
+ </body>
+</html>
diff --git a/docs/CommandGuide/lli.html b/docs/CommandGuide/lli.html
new file mode 100644
index 0000000..3495398
--- /dev/null
+++ b/docs/CommandGuide/lli.html
@@ -0,0 +1,80 @@
+<html>
+<title>
+lli
+</title>
+
+<body>
+
+<center>
+<h1>Low Level Virtual Machine</h1>
+</center>
+<HR>
+
+<h3>
+NAME
+</h3>
+
+lli
+
+<h3>
+SYNOPSIS
+</h3>
+
+lli [options] &lt; filename&gt;
+<h3>
+DESCRIPTION
+</h3>
+
+The lli command is the LLVM interpreter. It takes a program in LLVM bytecode
+format and executes it, either using an interpreter or a Just In Time (JIT)
+compiler.
+
+<h3>
+OPTIONS
+</h3>
+
+<ul>
+ <li> -array-checks
+ <br>
+ Enable array bound checks.
+ <p>
+
+ <li> -help
+ <br>
+ Print a summary of command line options.
+ <p>
+
+ <li> -disable-fp-elim
+ <br>
+ Disable frame pointer elimination optimization.
+ <p>
+
+ <li> -stats
+ <br>
+ Print statistics.
+ <p>
+
+ <li> -time-passes
+ <br>
+ Record the amount of time needed for each pass and print it to standard
+ error.
+ <p>
+</ul>
+
+<h3>
+EXIT STATUS
+</h3>
+
+If lli succeeds, it will exit with 0. Otherwise, if an error occurs, it
+will exit with a non-zero value.
+
+<h3>
+SEE ALSO
+</h3>
+llvm-dis
+
+<HR>
+University of Illinois at Urbana-Champaign
+</body>
+</html>
+
diff --git a/docs/CommandGuide/llvm-as.html b/docs/CommandGuide/llvm-as.html
new file mode 100644
index 0000000..26ff47f
--- /dev/null
+++ b/docs/CommandGuide/llvm-as.html
@@ -0,0 +1,83 @@
+<html>
+<title>
+llvm-as
+</title>
+
+<body>
+
+<center>
+<h1>Low Level Virtual Machine</h1>
+</center>
+<HR>
+
+<h3>
+NAME
+</h3>
+
+llvm-as
+
+<h3>
+SYNOPSIS
+</h3>
+
+llvm-as [options] &lt; filename&gt;
+<h3>
+DESCRIPTION
+</h3>
+
+The llvm-as command is the LLVM assembler. It takes a human readable LLVM
+assembly language file and translates it into LLVM bytecode.
+
+By default, llvm-as places its output into filename.bc.
+
+<h3>
+OPTIONS
+</h3>
+
+<ul>
+ <li> -f
+ <br>
+ Force overwrite. Normally, llvm-as will refuse to overwrite an output
+ file that already exists. With this option, llvm-as will overwrite the
+ output file and replace it with new bytecode.
+ <p>
+
+ <li> -help
+ <br>
+ Print a summary of command line options.
+ <p>
+
+ <li> -o &lt;filename&gt;
+ <br>
+ Specify the output filename.
+ <p>
+
+ <li> -stats
+ <br>
+ Print statistics.
+ <p>
+
+ <li> -time-passes
+ <br>
+ Record the amount of time needed for each pass and print it to standard
+ error.
+ <p>
+</ul>
+
+<h3>
+EXIT STATUS
+</h3>
+
+If llvm-as succeeds, it will exit with 0. Otherwise, if an error occurs, it
+will exit with a non-zero value.
+
+<h3>
+SEE ALSO
+</h3>
+llvm-dis
+
+<HR>
+University of Illinois at Urbana-Champaign
+</body>
+</html>
+
diff --git a/docs/CommandGuide/llvm-dis.html b/docs/CommandGuide/llvm-dis.html
new file mode 100644
index 0000000..b90442e
--- /dev/null
+++ b/docs/CommandGuide/llvm-dis.html
@@ -0,0 +1,89 @@
+<html>
+<title>
+llvm-dis
+</title>
+
+<body>
+
+<center>
+<h1>Low Level Virtual Machine</h1>
+</center>
+<HR>
+
+<h3>
+NAME
+</h3>
+
+llvm-dis
+
+<h3>
+SYNOPSIS
+</h3>
+
+llvm-dis [options] &lt; filename&gt;
+<h3>
+DESCRIPTION
+</h3>
+
+The llvm-dis command is the LLVM disassembler. It takes an LLVM bytecode file
+and converts it into one of several human readable formats.
+
+By default, llvm-dis places its output in filename.ll, removing the .bc suffix
+if it exists.
+<h3>
+OPTIONS
+</h3>
+
+<ul>
+ <li> -llvm
+ <br>
+ Instruct llvm-dis to generate LLVM assembly code in human readable
+ format. This is the default behavior.
+ <p>
+
+ <li> -c
+ <br>
+ Instruct llvm-dis to generate C source code.
+ <p>
+
+ <li> -f
+ <br>
+ Force overwrite. Normally, llvm-dis will refuse to overwrite an output
+ file that already exists. With this option, llvm-dis will overwrite the
+ output file.
+ <p>
+
+ <li> -help
+ <br>
+ Print a summary of command line options.
+ <p>
+
+ <li> -o &lt;filename&gt;
+ <br>
+ Specify the output filename.
+ <p>
+
+ <li> -time-pdisses
+ <br>
+ Record the amount of time needed for each pdiss and print it to standard
+ error.
+ <p>
+</ul>
+
+<h3>
+EXIT STATUS
+</h3>
+
+If llvm-dis succeeds, it will exit with 0. Otherwise, if an error occurs, it
+will exit with a non-zero value.
+
+<h3>
+SEE ALSO
+</h3>
+llvm-dis
+
+<HR>
+University of Illinois at Urbana-Champaign
+</body>
+</html>
+
diff --git a/docs/CommandGuide/opt.html b/docs/CommandGuide/opt.html
new file mode 100644
index 0000000..8e1274e
--- /dev/null
+++ b/docs/CommandGuide/opt.html
@@ -0,0 +1,116 @@
+<html>
+<title>
+opt
+</title>
+
+<body>
+
+<center>
+<h1>Low Level Virtual Machine</h1>
+</center>
+<HR>
+
+<h3>
+NAME
+</h3>
+
+opt
+
+<h3>
+SYNOPSIS
+</h3>
+
+opt [options] &lt; filename&gt;
+<h3>
+DESCRIPTION
+</h3>
+
+The opt command is the LLVM optimizer. It takes LLVM bytecode as input, runs
+the specified optimizations on it, and then outputs the optimized code in LLVM
+bytecode.
+
+The optimizations available via opt depend upon what libraries it was linked
+with, as well as any additional libraries that have been loaded with the -load
+option. Use the -help option to determine what optimizations you can use.
+
+<h3>
+OPTIONS
+</h3>
+
+<ul>
+ <li> -f
+ <br>
+ Force overwrite. Normally, opt will refuse to overwrite an output
+ file that already exists. With this option, opt will overwrite the
+ output file and replace it with new bytecode.
+ <p>
+
+ <li> -help
+ <br>
+ Print a summary of command line options.
+ <p>
+
+ <li> -o &lt;filename&gt;
+ <br>
+ Specify the output filename.
+ <p>
+
+ <li> -stats
+ <br>
+ Print statistics.
+ <p>
+
+ <li> -time-passes
+ <br>
+ Record the amount of time needed for each pass and print it to standard
+ error.
+ <p>
+
+ <li> -internalize-public-api-file &lt;filename&gt;
+ <br>
+ Preserve the symbol names listed in the file filename.
+ <p>
+
+ <li> -internalize-public-api-list=&lt;list&gt;
+ <br>
+ Perserve the symbol names specified.
+ <p>
+
+ <li> -q
+ <br>
+ Quiet mode. Do not print messages on whether the program was modified.
+ <p>
+
+ <li> -load &lt;plugin.so&gt;
+ <br>
+ Load the dynamic object plugin.so. This object should register new
+ optimization passes. Once loaded, the object will add new command line
+ options to enable various optimizations. To see the new complete list
+ of optimizations, use the -help and -load options together:
+ <p>
+ opt -load &lt;plugin.so&gt; -help
+ <p>
+
+ <li> -p
+ <br>
+ Print module after each transformation.
+ <p>
+</ul>
+
+<h3>
+EXIT STATUS
+</h3>
+
+If opt succeeds, it will exit with 0. Otherwise, if an error occurs, it
+will exit with a non-zero value.
+
+<h3>
+SEE ALSO
+</h3>
+analyze
+
+<HR>
+University of Illinois at Urbana-Champaign
+</body>
+</html>
+