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
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>
+