diff --git a/docs/CompilerDriver.html b/docs/CompilerDriver.html
index ece0de4..2eb452a 100644
--- a/docs/CompilerDriver.html
+++ b/docs/CompilerDriver.html
@@ -3,20 +3,22 @@
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
+<meta name="generator" content="Docutils 0.4.1: http://docutils.sourceforge.net/" />
 <title>Customizing LLVMC: Reference Manual</title>
-<link rel="stylesheet" href="llvm.css" type="text/css" />
+<meta name="author" content="Mikhail Glushenkov &lt;foldr&#64;codedegers.com&gt;" />
+<link rel="stylesheet" href="llvm-rst.css" type="text/css" />
 </head>
 <body>
 <div class="document" id="customizing-llvmc-reference-manual">
-
-<div class="doc_title">Customizing LLVMC: Reference Manual</div>
-
-<div class="doc_warning">
-  <p>Note: This document is a work-in-progress.  Additions and clarifications
-  are welcome.</p>
-</div>
-
+<h1 class="title">Customizing LLVMC: Reference Manual</h1>
+<table class="docinfo" frame="void" rules="none">
+<col class="docinfo-name" />
+<col class="docinfo-content" />
+<tbody valign="top">
+<tr><th class="docinfo-name">Author:</th>
+<td>Mikhail Glushenkov &lt;<a class="reference" href="mailto:foldr&#64;codedegers.com">foldr&#64;codedegers.com</a>&gt;</td></tr>
+</tbody>
+</table>
 <p>LLVMC is a generic compiler driver, designed to be customizable and
 extensible. It plays the same role for LLVM as the <tt class="docutils literal"><span class="pre">gcc</span></tt> program
 does for GCC - LLVMC's job is essentially to transform a set of input
@@ -25,34 +27,46 @@
 are completely customizable - in fact, LLVMC knows nothing about the
 specifics of transformation (even the command-line options are mostly
 not hard-coded) and regards the transformation structure as an
-abstract graph. This makes it possible to adapt LLVMC for other
-purposes - for example, as a build tool for game resources.</p>
-<p>Because LLVMC employs TableGen <a class="footnote-reference" href="#id2" id="id1" name="id1">[1]</a> as its configuration language, you
+abstract graph. The structure of this graph is completely determined
+by plugins, which can be either statically or dynamically linked. This
+makes it possible to easily adapt LLVMC for other purposes - for
+example, as a build tool for game resources.</p>
+<p>Because LLVMC employs TableGen <a class="footnote-reference" href="#id7" id="id1" name="id1">[1]</a> as its configuration language, you
 need to be familiar with it to customize LLVMC.</p>
 <div class="contents topic">
+<p class="topic-title first"><a id="contents" name="contents">Contents</a></p>
 <ul class="simple">
-<li><a class="reference" href="#compiling-with-llvmc" id="id3" name="id3">Compiling with LLVMC</a></li>
-<li><a class="reference" href="#predefined-options" id="id4" name="id4">Predefined options</a></li>
-<li><a class="reference" href="#customizing-llvmc-the-compilation-graph" id="id5" name="id5">Customizing LLVMC: the compilation graph</a></li>
-<li><a class="reference" href="#writing-a-tool-description" id="id6" name="id6">Writing a tool description</a></li>
-<li><a class="reference" href="#option-list-specifying-all-options-in-a-single-place" id="id7" name="id7">Option list - specifying all options in a single place</a></li>
-<li><a class="reference" href="#using-hooks-and-environment-variables-in-the-cmd-line-property" id="id8" name="id8">Using hooks and environment variables in the <tt class="docutils literal"><span class="pre">cmd_line</span></tt> property</a></li>
-<li><a class="reference" href="#conditional-evaluation-the-case-expression" id="id9" name="id9">Conditional evaluation: the <tt class="docutils literal"><span class="pre">case</span></tt> expression</a></li>
-<li><a class="reference" href="#language-map" id="id10" name="id10">Language map</a></li>
-<li><a class="reference" href="#references" id="id11" name="id11">References</a></li>
+<li><a class="reference" href="#compiling-with-llvmc" id="id10" name="id10">Compiling with LLVMC</a></li>
+<li><a class="reference" href="#predefined-options" id="id11" name="id11">Predefined options</a></li>
+<li><a class="reference" href="#compiling-llvmc-plugins" id="id12" name="id12">Compiling LLVMC plugins</a></li>
+<li><a class="reference" href="#customizing-llvmc-the-compilation-graph" id="id13" name="id13">Customizing LLVMC: the compilation graph</a></li>
+<li><a class="reference" href="#describing-options" id="id14" name="id14">Describing options</a><ul>
+<li><a class="reference" href="#external-options" id="id15" name="id15">External options</a></li>
+</ul>
+</li>
+<li><a class="reference" href="#conditional-evaluation" id="id16" name="id16">Conditional evaluation</a></li>
+<li><a class="reference" href="#writing-a-tool-description" id="id17" name="id17">Writing a tool description</a><ul>
+<li><a class="reference" href="#actions" id="id18" name="id18">Actions</a></li>
+</ul>
+</li>
+<li><a class="reference" href="#language-map" id="id19" name="id19">Language map</a></li>
+<li><a class="reference" href="#more-advanced-topics" id="id20" name="id20">More advanced topics</a><ul>
+<li><a class="reference" href="#hooks-and-environment-variables" id="id21" name="id21">Hooks and environment variables</a></li>
+<li><a class="reference" href="#how-plugins-are-loaded" id="id22" name="id22">How plugins are loaded</a></li>
+<li><a class="reference" href="#debugging" id="id23" name="id23">Debugging</a></li>
+</ul>
+</li>
+<li><a class="reference" href="#references" id="id24" name="id24">References</a></li>
 </ul>
 </div>
-
-<div class="doc_author">Written by Mikhail Glushenkov</div>
-
-<div class="doc_text">
-<div class="doc_section"><a class="toc-backref" href="#id3" id="compiling-with-llvmc" name="compiling-with-llvmc">Compiling with LLVMC</a></div>
+<div class="section">
+<h1><a class="toc-backref" href="#id10" id="compiling-with-llvmc" name="compiling-with-llvmc">Compiling with LLVMC</a></h1>
 <p>LLVMC tries hard to be as compatible with <tt class="docutils literal"><span class="pre">gcc</span></tt> as possible,
 although there are some small differences. Most of the time, however,
 you shouldn't be able to notice them:</p>
 <pre class="literal-block">
 $ # This works as expected:
-$ llvmc2 -O3 -Wall hello.cpp
+$ llvmc -O3 -Wall hello.cpp
 $ ./a.out
 hello
 </pre>
@@ -63,8 +77,8 @@
 extensions). If you want to force files ending with &quot;.c&quot; to compile as
 C++, use the <tt class="docutils literal"><span class="pre">-x</span></tt> option, just like you would do it with <tt class="docutils literal"><span class="pre">gcc</span></tt>:</p>
 <pre class="literal-block">
-$ llvmc2 -x c hello.cpp
-$ # hello.cpp is really a C file
+$ # hello.c is really a C++ file
+$ llvmc -x c++ hello.c
 $ ./a.out
 hello
 </pre>
@@ -72,25 +86,30 @@
 object files you should provide the <tt class="docutils literal"><span class="pre">--linker</span></tt> option since it's
 impossible for LLVMC to choose the right linker in that case:</p>
 <pre class="literal-block">
-$ llvmc2 -c hello.cpp
-$ llvmc2 hello.o
+$ llvmc -c hello.cpp
+$ llvmc hello.o
 [A lot of link-time errors skipped]
-$ llvmc2 --linker=c++ hello.o
+$ llvmc --linker=c++ hello.o
 $ ./a.out
 hello
 </pre>
+<p>By default, LLVMC uses <tt class="docutils literal"><span class="pre">llvm-gcc</span></tt> to compile the source code. It is
+also possible to choose the work-in-progress <tt class="docutils literal"><span class="pre">clang</span></tt> compiler with
+the <tt class="docutils literal"><span class="pre">-clang</span></tt> option.</p>
 </div>
-<div class="doc_text">
-<div class="doc_section"><a class="toc-backref" href="#id4" id="predefined-options" name="predefined-options">Predefined options</a></div>
+<div class="section">
+<h1><a class="toc-backref" href="#id11" id="predefined-options" name="predefined-options">Predefined options</a></h1>
 <p>LLVMC has some built-in options that can't be overridden in the
-configuration files:</p>
+configuration libraries:</p>
 <ul class="simple">
 <li><tt class="docutils literal"><span class="pre">-o</span> <span class="pre">FILE</span></tt> - Output file name.</li>
 <li><tt class="docutils literal"><span class="pre">-x</span> <span class="pre">LANGUAGE</span></tt> - Specify the language of the following input files
 until the next -x option.</li>
+<li><tt class="docutils literal"><span class="pre">-load</span> <span class="pre">PLUGIN_NAME</span></tt> - Load the specified plugin DLL. Example:
+<tt class="docutils literal"><span class="pre">-load</span> <span class="pre">$LLVM_DIR/Release/lib/LLVMCSimple.so</span></tt>.</li>
 <li><tt class="docutils literal"><span class="pre">-v</span></tt> - Enable verbose mode, i.e. print out all executed commands.</li>
 <li><tt class="docutils literal"><span class="pre">--view-graph</span></tt> - Show a graphical representation of the compilation
-graph. Requires that you have <tt class="docutils literal"><span class="pre">dot</span></tt> and <tt class="docutils literal"><span class="pre">gv</span></tt> commands
+graph. Requires that you have <tt class="docutils literal"><span class="pre">dot</span></tt> and <tt class="docutils literal"><span class="pre">gv</span></tt> programs
 installed. Hidden option, useful for debugging.</li>
 <li><tt class="docutils literal"><span class="pre">--write-graph</span></tt> - Write a <tt class="docutils literal"><span class="pre">compilation-graph.dot</span></tt> file in the
 current directory with the compilation graph description in the
@@ -101,47 +120,91 @@
 their standard meaning.</li>
 </ul>
 </div>
-<div class="doc_text">
-<div class="doc_section"><a class="toc-backref" href="#id5" id="customizing-llvmc-the-compilation-graph" name="customizing-llvmc-the-compilation-graph">Customizing LLVMC: the compilation graph</a></div>
-<p>At the time of writing LLVMC does not support on-the-fly reloading of
-configuration, so to customize LLVMC you'll have to recompile the
-source code (which lives under <tt class="docutils literal"><span class="pre">$LLVM_DIR/tools/llvmc2</span></tt>). The
-default configuration files are <tt class="docutils literal"><span class="pre">Common.td</span></tt> (contains common
-definitions, don't forget to <tt class="docutils literal"><span class="pre">include</span></tt> it in your configuration
-files), <tt class="docutils literal"><span class="pre">Tools.td</span></tt> (tool descriptions) and <tt class="docutils literal"><span class="pre">Graph.td</span></tt> (compilation
-graph definition).</p>
-<p>To compile LLVMC with your own configuration file (say,``MyGraph.td``),
-run <tt class="docutils literal"><span class="pre">make</span></tt> like this:</p>
+<div class="section">
+<h1><a class="toc-backref" href="#id12" id="compiling-llvmc-plugins" name="compiling-llvmc-plugins">Compiling LLVMC plugins</a></h1>
+<p>It's easiest to start working on your own LLVMC plugin by copying the
+skeleton project which lives under <tt class="docutils literal"><span class="pre">$LLVMC_DIR/plugins/Simple</span></tt>:</p>
 <pre class="literal-block">
-$ cd $LLVM_DIR/tools/llvmc2
-$ make GRAPH=MyGraph.td TOOLNAME=my_llvmc
+$ cd $LLVMC_DIR/plugins
+$ cp -r Simple MyPlugin
+$ cd MyPlugin
+$ ls
+Makefile PluginMain.cpp Simple.td
 </pre>
-<p>This will build an executable named <tt class="docutils literal"><span class="pre">my_llvmc</span></tt>. There are also
-several sample configuration files in the <tt class="docutils literal"><span class="pre">llvmc2/examples</span></tt>
-subdirectory that should help to get you started.</p>
+<p>As you can see, our basic plugin consists of only two files (not
+counting the build script). <tt class="docutils literal"><span class="pre">Simple.td</span></tt> contains TableGen
+description of the compilation graph; its format is documented in the
+following sections. <tt class="docutils literal"><span class="pre">PluginMain.cpp</span></tt> is just a helper file used to
+compile the auto-generated C++ code produced from TableGen source. It
+can also contain hook definitions (see <a class="reference" href="#hooks">below</a>).</p>
+<p>The first thing that you should do is to change the <tt class="docutils literal"><span class="pre">LLVMC_PLUGIN</span></tt>
+variable in the <tt class="docutils literal"><span class="pre">Makefile</span></tt> to avoid conflicts (since this variable
+is used to name the resulting library):</p>
+<pre class="literal-block">
+LLVMC_PLUGIN=MyPlugin
+</pre>
+<p>It is also a good idea to rename <tt class="docutils literal"><span class="pre">Simple.td</span></tt> to something less
+generic:</p>
+<pre class="literal-block">
+$ mv Simple.td MyPlugin.td
+</pre>
+<p>Note that the plugin source directory must be placed under
+<tt class="docutils literal"><span class="pre">$LLVMC_DIR/plugins</span></tt> to make use of the existing build
+infrastructure. To build a version of the LLVMC executable called
+<tt class="docutils literal"><span class="pre">mydriver</span></tt> with your plugin compiled in, use the following command:</p>
+<pre class="literal-block">
+$ cd $LLVMC_DIR
+$ make BUILTIN_PLUGINS=MyPlugin DRIVER_NAME=mydriver
+</pre>
+<p>To build your plugin as a dynamic library, just <tt class="docutils literal"><span class="pre">cd</span></tt> to its source
+directory and run <tt class="docutils literal"><span class="pre">make</span></tt>. The resulting file will be called
+<tt class="docutils literal"><span class="pre">LLVMC$(LLVMC_PLUGIN).$(DLL_EXTENSION)</span></tt> (in our case,
+<tt class="docutils literal"><span class="pre">LLVMCMyPlugin.so</span></tt>). This library can be then loaded in with the
+<tt class="docutils literal"><span class="pre">-load</span></tt> option. Example:</p>
+<pre class="literal-block">
+$ cd $LLVMC_DIR/plugins/Simple
+$ make
+$ llvmc -load $LLVM_DIR/Release/lib/LLVMCSimple.so
+</pre>
+<p>Sometimes, you will want a 'bare-bones' version of LLVMC that has no
+built-in plugins. It can be compiled with the following command:</p>
+<pre class="literal-block">
+$ cd $LLVMC_DIR
+$ make BUILTIN_PLUGINS=&quot;&quot;
+</pre>
+</div>
+<div class="section">
+<h1><a class="toc-backref" href="#id13" id="customizing-llvmc-the-compilation-graph" name="customizing-llvmc-the-compilation-graph">Customizing LLVMC: the compilation graph</a></h1>
+<p>Each TableGen configuration file should include the common
+definitions:</p>
+<pre class="literal-block">
+include &quot;llvm/CompilerDriver/Common.td&quot;
+</pre>
 <p>Internally, LLVMC stores information about possible source
 transformations in form of a graph. Nodes in this graph represent
 tools, and edges between two nodes represent a transformation path. A
 special &quot;root&quot; node is used to mark entry points for the
 transformations. LLVMC also assigns a weight to each edge (more on
 this later) to choose between several alternative edges.</p>
-<p>The definition of the compilation graph (see file <tt class="docutils literal"><span class="pre">Graph.td</span></tt>) is
-just a list of edges:</p>
+<p>The definition of the compilation graph (see file
+<tt class="docutils literal"><span class="pre">plugins/Base/Base.td</span></tt> for an example) is just a list of edges:</p>
 <pre class="literal-block">
 def CompilationGraph : CompilationGraph&lt;[
-    Edge&lt;root, llvm_gcc_c&gt;,
-    Edge&lt;root, llvm_gcc_assembler&gt;,
+    Edge&lt;&quot;root&quot;, &quot;llvm_gcc_c&quot;&gt;,
+    Edge&lt;&quot;root&quot;, &quot;llvm_gcc_assembler&quot;&gt;,
     ...
 
-    Edge&lt;llvm_gcc_c, llc&gt;,
-    Edge&lt;llvm_gcc_cpp, llc&gt;,
+    Edge&lt;&quot;llvm_gcc_c&quot;, &quot;llc&quot;&gt;,
+    Edge&lt;&quot;llvm_gcc_cpp&quot;, &quot;llc&quot;&gt;,
     ...
 
-    OptionalEdge&lt;llvm_gcc_c, opt, [(switch_on &quot;opt&quot;)]&gt;,
-    OptionalEdge&lt;llvm_gcc_cpp, opt, [(switch_on &quot;opt&quot;)]&gt;,
+    OptionalEdge&lt;&quot;llvm_gcc_c&quot;, &quot;opt&quot;, (case (switch_on &quot;opt&quot;),
+                                      (inc_weight))&gt;,
+    OptionalEdge&lt;&quot;llvm_gcc_cpp&quot;, &quot;opt&quot;, (case (switch_on &quot;opt&quot;),
+                                              (inc_weight))&gt;,
     ...
 
-    OptionalEdge&lt;llvm_gcc_assembler, llvm_gcc_cpp_linker,
+    OptionalEdge&lt;&quot;llvm_gcc_assembler&quot;, &quot;llvm_gcc_cpp_linker&quot;,
         (case (input_languages_contain &quot;c++&quot;), (inc_weight),
               (or (parameter_equals &quot;linker&quot;, &quot;g++&quot;),
                   (parameter_equals &quot;linker&quot;, &quot;c++&quot;)), (inc_weight))&gt;,
@@ -150,80 +213,50 @@
     ]&gt;;
 </pre>
 <p>As you can see, the edges can be either default or optional, where
-optional edges are differentiated by sporting a <tt class="docutils literal"><span class="pre">case</span></tt> expression
-used to calculate the edge's weight.</p>
+optional edges are differentiated by an additional <tt class="docutils literal"><span class="pre">case</span></tt> expression
+used to calculate the weight of this edge. Notice also that we refer
+to tools via their names (as strings). This makes it possible to add
+edges to an existing compilation graph in plugins without having to
+know about all tool definitions used in the graph.</p>
 <p>The default edges are assigned a weight of 1, and optional edges get a
 weight of 0 + 2*N where N is the number of tests that evaluated to
 true in the <tt class="docutils literal"><span class="pre">case</span></tt> expression. It is also possible to provide an
 integer parameter to <tt class="docutils literal"><span class="pre">inc_weight</span></tt> and <tt class="docutils literal"><span class="pre">dec_weight</span></tt> - in this case,
 the weight is increased (or decreased) by the provided value instead
-of the default 2.</p>
+of the default 2. It is also possible to change the default weight of
+an optional edge by using the <tt class="docutils literal"><span class="pre">default</span></tt> clause of the <tt class="docutils literal"><span class="pre">case</span></tt>
+construct.</p>
 <p>When passing an input file through the graph, LLVMC picks the edge
 with the maximum weight. To avoid ambiguity, there should be only one
 default edge between two nodes (with the exception of the root node,
 which gets a special treatment - there you are allowed to specify one
 default edge <em>per language</em>).</p>
+<p>When multiple plugins are loaded, their compilation graphs are merged
+together. Since multiple edges that have the same end nodes are not
+allowed (i.e. the graph is not a multigraph), an edge defined in
+several plugins will be replaced by the definition from the plugin
+that was loaded last. Plugin load order can be controlled by using the
+plugin priority feature described above.</p>
 <p>To get a visual representation of the compilation graph (useful for
-debugging), run <tt class="docutils literal"><span class="pre">llvmc2</span> <span class="pre">--view-graph</span></tt>. You will need <tt class="docutils literal"><span class="pre">dot</span></tt> and
+debugging), run <tt class="docutils literal"><span class="pre">llvmc</span> <span class="pre">--view-graph</span></tt>. You will need <tt class="docutils literal"><span class="pre">dot</span></tt> and
 <tt class="docutils literal"><span class="pre">gsview</span></tt> installed for this to work properly.</p>
 </div>
-<div class="doc_text">
-<div class="doc_section"><a class="toc-backref" href="#id6" id="writing-a-tool-description" name="writing-a-tool-description">Writing a tool description</a></div>
-<p>As was said earlier, nodes in the compilation graph represent tools,
-which are described separately. A tool definition looks like this
-(taken from the <tt class="docutils literal"><span class="pre">Tools.td</span></tt> file):</p>
+<div class="section">
+<h1><a class="toc-backref" href="#id14" id="describing-options" name="describing-options">Describing options</a></h1>
+<p>Command-line options that the plugin supports are defined by using an
+<tt class="docutils literal"><span class="pre">OptionList</span></tt>:</p>
 <pre class="literal-block">
-def llvm_gcc_cpp : Tool&lt;[
-    (in_language &quot;c++&quot;),
-    (out_language &quot;llvm-assembler&quot;),
-    (output_suffix &quot;bc&quot;),
-    (cmd_line &quot;llvm-g++ -c $INFILE -o $OUTFILE -emit-llvm&quot;),
-    (sink)
-    ]&gt;;
+def Options : OptionList&lt;[
+(switch_option &quot;E&quot;, (help &quot;Help string&quot;)),
+(alias_option &quot;quiet&quot;, &quot;q&quot;)
+...
+]&gt;;
 </pre>
-<p>This defines a new tool called <tt class="docutils literal"><span class="pre">llvm_gcc_cpp</span></tt>, which is an alias for
-<tt class="docutils literal"><span class="pre">llvm-g++</span></tt>. As you can see, a tool definition is just a list of
-properties; most of them should be self-explanatory. The <tt class="docutils literal"><span class="pre">sink</span></tt>
-property means that this tool should be passed all command-line
-options that lack explicit descriptions.</p>
-<p>The complete list of the currently implemented tool properties follows:</p>
-<ul class="simple">
-<li>Possible tool properties:<ul>
-<li><tt class="docutils literal"><span class="pre">in_language</span></tt> - input language name.</li>
-<li><tt class="docutils literal"><span class="pre">out_language</span></tt> - output language name.</li>
-<li><tt class="docutils literal"><span class="pre">output_suffix</span></tt> - output file suffix.</li>
-<li><tt class="docutils literal"><span class="pre">cmd_line</span></tt> - the actual command used to run the tool. You can
-use <tt class="docutils literal"><span class="pre">$INFILE</span></tt> and <tt class="docutils literal"><span class="pre">$OUTFILE</span></tt> variables, output redirection
-with <tt class="docutils literal"><span class="pre">&gt;</span></tt>, hook invocations (<tt class="docutils literal"><span class="pre">$CALL</span></tt>), environment variables
-(via <tt class="docutils literal"><span class="pre">$ENV</span></tt>) and the <tt class="docutils literal"><span class="pre">case</span></tt> construct (more on this below).</li>
-<li><tt class="docutils literal"><span class="pre">join</span></tt> - this tool is a &quot;join node&quot; in the graph, i.e. it gets a
-list of input files and joins them together. Used for linkers.</li>
-<li><tt class="docutils literal"><span class="pre">sink</span></tt> - all command-line options that are not handled by other
-tools are passed to this tool.</li>
-</ul>
-</li>
-</ul>
-<p>The next tool definition is slightly more complex:</p>
-<pre class="literal-block">
-def llvm_gcc_linker : Tool&lt;[
-    (in_language &quot;object-code&quot;),
-    (out_language &quot;executable&quot;),
-    (output_suffix &quot;out&quot;),
-    (cmd_line &quot;llvm-gcc $INFILE -o $OUTFILE&quot;),
-    (join),
-    (prefix_list_option &quot;L&quot;, (forward),
-                        (help &quot;add a directory to link path&quot;)),
-    (prefix_list_option &quot;l&quot;, (forward),
-                        (help &quot;search a library when linking&quot;)),
-    (prefix_list_option &quot;Wl&quot;, (unpack_values),
-                        (help &quot;pass options to linker&quot;))
-    ]&gt;;
-</pre>
-<p>This tool has a &quot;join&quot; property, which means that it behaves like a
-linker. This tool also defines several command-line options: <tt class="docutils literal"><span class="pre">-l</span></tt>,
-<tt class="docutils literal"><span class="pre">-L</span></tt> and <tt class="docutils literal"><span class="pre">-Wl</span></tt> which have their usual meaning. An option has two
-attributes: a name and a (possibly empty) list of properties. All
-currently implemented option types and properties are described below:</p>
+<p>As you can see, the option list is just a list of DAGs, where each DAG
+is an option description consisting of the option name and some
+properties. A plugin can define more than one option list (they are
+all merged together in the end), which can be handy if one wants to
+separate option groups syntactically.</p>
 <ul>
 <li><p class="first">Possible option types:</p>
 <blockquote>
@@ -247,88 +280,59 @@
 <li><p class="first">Possible option properties:</p>
 <blockquote>
 <ul class="simple">
-<li><tt class="docutils literal"><span class="pre">append_cmd</span></tt> - append a string to the tool invocation command.</li>
-<li><tt class="docutils literal"><span class="pre">forward</span></tt> - forward this option unchanged.</li>
-<li><tt class="docutils literal"><span class="pre">output_suffix</span></tt> - modify the output suffix of this
-tool. Example : <tt class="docutils literal"><span class="pre">(switch</span> <span class="pre">&quot;E&quot;,</span> <span class="pre">(output_suffix</span> <span class="pre">&quot;i&quot;)</span></tt>.</li>
-<li><tt class="docutils literal"><span class="pre">stop_compilation</span></tt> - stop compilation after this phase.</li>
-<li><tt class="docutils literal"><span class="pre">unpack_values</span></tt> - used for for splitting and forwarding
-comma-separated lists of options, e.g. <tt class="docutils literal"><span class="pre">-Wa,-foo=bar,-baz</span></tt> is
-converted to <tt class="docutils literal"><span class="pre">-foo=bar</span> <span class="pre">-baz</span></tt> and appended to the tool invocation
-command.</li>
 <li><tt class="docutils literal"><span class="pre">help</span></tt> - help string associated with this option. Used for
 <tt class="docutils literal"><span class="pre">--help</span></tt> output.</li>
 <li><tt class="docutils literal"><span class="pre">required</span></tt> - this option is obligatory.</li>
+<li><tt class="docutils literal"><span class="pre">hidden</span></tt> - this option should not appear in the <tt class="docutils literal"><span class="pre">--help</span></tt>
+output (but should appear in the <tt class="docutils literal"><span class="pre">--help-hidden</span></tt> output).</li>
+<li><tt class="docutils literal"><span class="pre">really_hidden</span></tt> - the option should not appear in any help
+output.</li>
+<li><tt class="docutils literal"><span class="pre">extern</span></tt> - this option is defined in some other plugin, see below.</li>
 </ul>
 </blockquote>
 </li>
 </ul>
-</div>
-<div class="doc_text">
-<div class="doc_section"><a class="toc-backref" href="#id7" id="option-list-specifying-all-options-in-a-single-place" name="option-list-specifying-all-options-in-a-single-place">Option list - specifying all options in a single place</a></div>
-<p>It can be handy to have all information about options gathered in a
-single place to provide an overview. This can be achieved by using a
-so-called <tt class="docutils literal"><span class="pre">OptionList</span></tt>:</p>
+<div class="section">
+<h2><a class="toc-backref" href="#id15" id="external-options" name="external-options">External options</a></h2>
+<p>Sometimes, when linking several plugins together, one plugin needs to
+access options defined in some other plugin. Because of the way
+options are implemented, such options should be marked as
+<tt class="docutils literal"><span class="pre">extern</span></tt>. This is what the <tt class="docutils literal"><span class="pre">extern</span></tt> option property is
+for. Example:</p>
 <pre class="literal-block">
-def Options : OptionList&lt;[
-(switch_option &quot;E&quot;, (help &quot;Help string&quot;)),
-(alias_option &quot;quiet&quot;, &quot;q&quot;)
 ...
-]&gt;;
+(switch_option &quot;E&quot;, (extern))
+...
 </pre>
-<p><tt class="docutils literal"><span class="pre">OptionList</span></tt> is also a good place to specify option aliases.</p>
-<p>Tool-specific option properties like <tt class="docutils literal"><span class="pre">append_cmd</span></tt> have (obviously)
-no meaning in the context of <tt class="docutils literal"><span class="pre">OptionList</span></tt>, so the only properties
-allowed there are <tt class="docutils literal"><span class="pre">help</span></tt> and <tt class="docutils literal"><span class="pre">required</span></tt>.</p>
-<p>Option lists are used at the file scope. See file
-<tt class="docutils literal"><span class="pre">examples/Clang.td</span></tt> for an example of <tt class="docutils literal"><span class="pre">OptionList</span></tt> usage.</p>
+<p>See also the section on plugin <a class="reference" href="#priorities">priorities</a>.</p>
 </div>
-<div class="doc_text">
-<div class="doc_section"><a class="toc-backref" href="#id8" id="using-hooks-and-environment-variables-in-the-cmd-line-property" name="using-hooks-and-environment-variables-in-the-cmd-line-property">Using hooks and environment variables in the <tt class="docutils literal"><span class="pre">cmd_line</span></tt> property</a></div>
-<p>Normally, LLVMC executes programs from the system <tt class="docutils literal"><span class="pre">PATH</span></tt>. Sometimes,
-this is not sufficient: for example, we may want to specify tool names
-in the configuration file. This can be achieved via the mechanism of
-hooks - to compile LLVMC with your hooks, just drop a .cpp file into
-<tt class="docutils literal"><span class="pre">tools/llvmc2</span></tt> directory. Hooks should live in the <tt class="docutils literal"><span class="pre">hooks</span></tt>
-namespace and have the signature <tt class="docutils literal"><span class="pre">std::string</span> <span class="pre">hooks::MyHookName</span>
-<span class="pre">(void)</span></tt>. They can be used from the <tt class="docutils literal"><span class="pre">cmd_line</span></tt> tool property:</p>
-<pre class="literal-block">
-(cmd_line &quot;$CALL(MyHook)/path/to/file -o $CALL(AnotherHook)&quot;)
-</pre>
-<p>It is also possible to use environment variables in the same manner:</p>
-<pre class="literal-block">
-(cmd_line &quot;$ENV(VAR1)/path/to/file -o $ENV(VAR2)&quot;)
-</pre>
-<p>To change the command line string based on user-provided options use
-the <tt class="docutils literal"><span class="pre">case</span></tt> expression (documented below):</p>
-<pre class="literal-block">
-(cmd_line
-  (case
-    (switch_on &quot;E&quot;),
-       &quot;llvm-g++ -E -x c $INFILE -o $OUTFILE&quot;,
-    (default),
-       &quot;llvm-g++ -c -x c $INFILE -o $OUTFILE -emit-llvm&quot;))
-</pre>
 </div>
-<div class="doc_text">
-<div class="doc_section"><a class="toc-backref" href="#id9" id="conditional-evaluation-the-case-expression" name="conditional-evaluation-the-case-expression">Conditional evaluation: the <tt class="docutils literal"><span class="pre">case</span></tt> expression</a></div>
-<p>The 'case' construct can be used to calculate weights of the optional
-edges and to choose between several alternative command line strings
-in the <tt class="docutils literal"><span class="pre">cmd_line</span></tt> tool property. It is designed after the
-similarly-named construct in functional languages and takes the form
-<tt class="docutils literal"><span class="pre">(case</span> <span class="pre">(test_1),</span> <span class="pre">statement_1,</span> <span class="pre">(test_2),</span> <span class="pre">statement_2,</span> <span class="pre">...</span> <span class="pre">(test_N),</span>
-<span class="pre">statement_N)</span></tt>. The statements are evaluated only if the corresponding
-tests evaluate to true.</p>
+<div class="section">
+<h1><a class="toc-backref" href="#id16" id="conditional-evaluation" name="conditional-evaluation"><span id="case"></span>Conditional evaluation</a></h1>
+<p>The 'case' construct is the main means by which programmability is
+achieved in LLVMC. It can be used to calculate edge weights, program
+actions and modify the shell commands to be executed. The 'case'
+expression is designed after the similarly-named construct in
+functional languages and takes the form <tt class="docutils literal"><span class="pre">(case</span> <span class="pre">(test_1),</span> <span class="pre">statement_1,</span>
+<span class="pre">(test_2),</span> <span class="pre">statement_2,</span> <span class="pre">...</span> <span class="pre">(test_N),</span> <span class="pre">statement_N)</span></tt>. The statements
+are evaluated only if the corresponding tests evaluate to true.</p>
 <p>Examples:</p>
 <pre class="literal-block">
+// Edge weight calculation
+
 // Increases edge weight by 5 if &quot;-A&quot; is provided on the
 // command-line, and by 5 more if &quot;-B&quot; is also provided.
 (case
     (switch_on &quot;A&quot;), (inc_weight 5),
     (switch_on &quot;B&quot;), (inc_weight 5))
 
-// Evaluates to &quot;cmdline1&quot; if option &quot;-A&quot; is provided on the
-// command line, otherwise to &quot;cmdline2&quot;
+
+// Tool command line specification
+
+// Evaluates to &quot;cmdline1&quot; if the option &quot;-A&quot; is provided on the
+// command line; to &quot;cmdline2&quot; if &quot;-B&quot; is provided;
+// otherwise to &quot;cmdline3&quot;.
+
 (case
     (switch_on &quot;A&quot;), &quot;cmdline1&quot;,
     (switch_on &quot;B&quot;), &quot;cmdline2&quot;,
@@ -349,25 +353,25 @@
 use TableGen inheritance instead.</p>
 <ul class="simple">
 <li>Possible tests are:<ul>
-<li><tt class="docutils literal"><span class="pre">switch_on</span></tt> - Returns true if a given command-line option is
-provided by the user. Example: <tt class="docutils literal"><span class="pre">(switch_on</span> <span class="pre">&quot;opt&quot;)</span></tt>. Note that
-you have to define all possible command-line options separately in
-the tool descriptions. See the next doc_text for the discussion of
-different kinds of command-line options.</li>
+<li><tt class="docutils literal"><span class="pre">switch_on</span></tt> - Returns true if a given command-line switch is
+provided by the user. Example: <tt class="docutils literal"><span class="pre">(switch_on</span> <span class="pre">&quot;opt&quot;)</span></tt>.</li>
 <li><tt class="docutils literal"><span class="pre">parameter_equals</span></tt> - Returns true if a command-line parameter equals
-a given value. Example: <tt class="docutils literal"><span class="pre">(parameter_equals</span> <span class="pre">&quot;W&quot;,</span> <span class="pre">&quot;all&quot;)</span></tt>.</li>
-<li><tt class="docutils literal"><span class="pre">element_in_list</span></tt> - Returns true if a command-line parameter list
-includes a given value. Example: <tt class="docutils literal"><span class="pre">(parameter_in_list</span> <span class="pre">&quot;l&quot;,</span> <span class="pre">&quot;pthread&quot;)</span></tt>.</li>
+a given value.
+Example: <tt class="docutils literal"><span class="pre">(parameter_equals</span> <span class="pre">&quot;W&quot;,</span> <span class="pre">&quot;all&quot;)</span></tt>.</li>
+<li><tt class="docutils literal"><span class="pre">element_in_list</span></tt> - Returns true if a command-line parameter
+list contains a given value.
+Example: <tt class="docutils literal"><span class="pre">(parameter_in_list</span> <span class="pre">&quot;l&quot;,</span> <span class="pre">&quot;pthread&quot;)</span></tt>.</li>
 <li><tt class="docutils literal"><span class="pre">input_languages_contain</span></tt> - Returns true if a given language
-belongs to the current input language set. Example:
-<tt class="docutils literal"><span class="pre">`(input_languages_contain</span> <span class="pre">&quot;c++&quot;)</span></tt>.</li>
-<li><tt class="docutils literal"><span class="pre">in_language</span></tt> - Evaluates to true if the language of the input
-file equals to the argument. Valid only when using <tt class="docutils literal"><span class="pre">case</span></tt>
-expression in a <tt class="docutils literal"><span class="pre">cmd_line</span></tt> tool property. Example:
-<tt class="docutils literal"><span class="pre">`(in_language</span> <span class="pre">&quot;c++&quot;)</span></tt>.</li>
+belongs to the current input language set.
+Example: <tt class="docutils literal"><span class="pre">(input_languages_contain</span> <span class="pre">&quot;c++&quot;)</span></tt>.</li>
+<li><tt class="docutils literal"><span class="pre">in_language</span></tt> - Evaluates to true if the input file language
+equals to the argument. At the moment works only with <tt class="docutils literal"><span class="pre">cmd_line</span></tt>
+and <tt class="docutils literal"><span class="pre">actions</span></tt> (on non-join nodes).
+Example: <tt class="docutils literal"><span class="pre">(in_language</span> <span class="pre">&quot;c++&quot;)</span></tt>.</li>
 <li><tt class="docutils literal"><span class="pre">not_empty</span></tt> - Returns true if a given option (which should be
 either a parameter or a parameter list) is set by the
-user. Example: <tt class="docutils literal"><span class="pre">`(not_empty</span> <span class="pre">&quot;o&quot;)</span></tt>.</li>
+user.
+Example: <tt class="docutils literal"><span class="pre">(not_empty</span> <span class="pre">&quot;o&quot;)</span></tt>.</li>
 <li><tt class="docutils literal"><span class="pre">default</span></tt> - Always evaluates to true. Should always be the last
 test in the <tt class="docutils literal"><span class="pre">case</span></tt> expression.</li>
 <li><tt class="docutils literal"><span class="pre">and</span></tt> - A standard logical combinator that returns true iff all
@@ -381,13 +385,112 @@
 </li>
 </ul>
 </div>
-<div class="doc_text">
-<div class="doc_section"><a class="toc-backref" href="#id10" id="language-map" name="language-map">Language map</a></div>
-<p>One last thing that you will need to modify when adding support for a
-new language to LLVMC is the language map, which defines mappings from
-file extensions to language names. It is used to choose the proper
-toolchain(s) for a given input file set. Language map definition is
-located in the file <tt class="docutils literal"><span class="pre">Tools.td</span></tt> and looks like this:</p>
+<div class="section">
+<h1><a class="toc-backref" href="#id17" id="writing-a-tool-description" name="writing-a-tool-description">Writing a tool description</a></h1>
+<p>As was said earlier, nodes in the compilation graph represent tools,
+which are described separately. A tool definition looks like this
+(taken from the <tt class="docutils literal"><span class="pre">include/llvm/CompilerDriver/Tools.td</span></tt> file):</p>
+<pre class="literal-block">
+def llvm_gcc_cpp : Tool&lt;[
+    (in_language &quot;c++&quot;),
+    (out_language &quot;llvm-assembler&quot;),
+    (output_suffix &quot;bc&quot;),
+    (cmd_line &quot;llvm-g++ -c $INFILE -o $OUTFILE -emit-llvm&quot;),
+    (sink)
+    ]&gt;;
+</pre>
+<p>This defines a new tool called <tt class="docutils literal"><span class="pre">llvm_gcc_cpp</span></tt>, which is an alias for
+<tt class="docutils literal"><span class="pre">llvm-g++</span></tt>. As you can see, a tool definition is just a list of
+properties; most of them should be self-explanatory. The <tt class="docutils literal"><span class="pre">sink</span></tt>
+property means that this tool should be passed all command-line
+options that aren't mentioned in the option list.</p>
+<p>The complete list of all currently implemented tool properties follows.</p>
+<ul class="simple">
+<li>Possible tool properties:<ul>
+<li><tt class="docutils literal"><span class="pre">in_language</span></tt> - input language name. Can be either a string or a
+list, in case the tool supports multiple input languages.</li>
+<li><tt class="docutils literal"><span class="pre">out_language</span></tt> - output language name. Tools are not allowed to
+have multiple output languages.</li>
+<li><tt class="docutils literal"><span class="pre">output_suffix</span></tt> - output file suffix. Can also be changed
+dynamically, see documentation on actions.</li>
+<li><tt class="docutils literal"><span class="pre">cmd_line</span></tt> - the actual command used to run the tool. You can
+use <tt class="docutils literal"><span class="pre">$INFILE</span></tt> and <tt class="docutils literal"><span class="pre">$OUTFILE</span></tt> variables, output redirection
+with <tt class="docutils literal"><span class="pre">&gt;</span></tt>, hook invocations (<tt class="docutils literal"><span class="pre">$CALL</span></tt>), environment variables
+(via <tt class="docutils literal"><span class="pre">$ENV</span></tt>) and the <tt class="docutils literal"><span class="pre">case</span></tt> construct.</li>
+<li><tt class="docutils literal"><span class="pre">join</span></tt> - this tool is a &quot;join node&quot; in the graph, i.e. it gets a
+list of input files and joins them together. Used for linkers.</li>
+<li><tt class="docutils literal"><span class="pre">sink</span></tt> - all command-line options that are not handled by other
+tools are passed to this tool.</li>
+<li><tt class="docutils literal"><span class="pre">actions</span></tt> - A single big <tt class="docutils literal"><span class="pre">case</span></tt> expression that specifies how
+this tool reacts on command-line options (described in more detail
+below).</li>
+</ul>
+</li>
+</ul>
+<div class="section">
+<h2><a class="toc-backref" href="#id18" id="actions" name="actions">Actions</a></h2>
+<p>A tool often needs to react to command-line options, and this is
+precisely what the <tt class="docutils literal"><span class="pre">actions</span></tt> property is for. The next example
+illustrates this feature:</p>
+<pre class="literal-block">
+def llvm_gcc_linker : Tool&lt;[
+    (in_language &quot;object-code&quot;),
+    (out_language &quot;executable&quot;),
+    (output_suffix &quot;out&quot;),
+    (cmd_line &quot;llvm-gcc $INFILE -o $OUTFILE&quot;),
+    (join),
+    (actions (case (not_empty &quot;L&quot;), (forward &quot;L&quot;),
+                   (not_empty &quot;l&quot;), (forward &quot;l&quot;),
+                   (not_empty &quot;dummy&quot;),
+                             [(append_cmd &quot;-dummy1&quot;), (append_cmd &quot;-dummy2&quot;)])
+    ]&gt;;
+</pre>
+<p>The <tt class="docutils literal"><span class="pre">actions</span></tt> tool property is implemented on top of the omnipresent
+<tt class="docutils literal"><span class="pre">case</span></tt> expression. It associates one or more different <em>actions</em>
+with given conditions - in the example, the actions are <tt class="docutils literal"><span class="pre">forward</span></tt>,
+which forwards a given option unchanged, and <tt class="docutils literal"><span class="pre">append_cmd</span></tt>, which
+appends a given string to the tool execution command. Multiple actions
+can be associated with a single condition by using a list of actions
+(used in the example to append some dummy options). The same <tt class="docutils literal"><span class="pre">case</span></tt>
+construct can also be used in the <tt class="docutils literal"><span class="pre">cmd_line</span></tt> property to modify the
+tool command line.</p>
+<p>The &quot;join&quot; property used in the example means that this tool behaves
+like a linker.</p>
+<p>The list of all possible actions follows.</p>
+<ul>
+<li><p class="first">Possible actions:</p>
+<blockquote>
+<ul class="simple">
+<li><tt class="docutils literal"><span class="pre">append_cmd</span></tt> - append a string to the tool invocation
+command.
+Example: <tt class="docutils literal"><span class="pre">(case</span> <span class="pre">(switch_on</span> <span class="pre">&quot;pthread&quot;),</span> <span class="pre">(append_cmd</span> <span class="pre">&quot;-lpthread&quot;))</span></tt></li>
+<li><tt class="docutils literal"><span class="pre">forward</span></tt> - forward an option unchanged.
+Example: <tt class="docutils literal"><span class="pre">(forward</span> <span class="pre">&quot;Wall&quot;)</span></tt>.</li>
+<li><tt class="docutils literal"><span class="pre">forward_as</span></tt> - Change the name of an option, but forward the
+argument unchanged.
+Example: <tt class="docutils literal"><span class="pre">(forward_as</span> <span class="pre">&quot;O0&quot;</span> <span class="pre">&quot;--disable-optimization&quot;)</span></tt>.</li>
+<li><tt class="docutils literal"><span class="pre">output_suffix</span></tt> - modify the output suffix of this
+tool.
+Example: <tt class="docutils literal"><span class="pre">(output_suffix</span> <span class="pre">&quot;i&quot;)</span></tt>.</li>
+<li><tt class="docutils literal"><span class="pre">stop_compilation</span></tt> - stop compilation after this tool processes
+its input. Used without arguments.</li>
+<li><tt class="docutils literal"><span class="pre">unpack_values</span></tt> - used for for splitting and forwarding
+comma-separated lists of options, e.g. <tt class="docutils literal"><span class="pre">-Wa,-foo=bar,-baz</span></tt> is
+converted to <tt class="docutils literal"><span class="pre">-foo=bar</span> <span class="pre">-baz</span></tt> and appended to the tool invocation
+command.
+Example: <tt class="docutils literal"><span class="pre">(unpack_values</span> <span class="pre">&quot;Wa,&quot;)</span></tt>.</li>
+</ul>
+</blockquote>
+</li>
+</ul>
+</div>
+</div>
+<div class="section">
+<h1><a class="toc-backref" href="#id19" id="language-map" name="language-map">Language map</a></h1>
+<p>If you are adding support for a new language to LLVMC, you'll need to
+modify the language map, which defines mappings from file extensions
+to language names. It is used to choose the proper toolchain(s) for a
+given input file set. Language map definition looks like this:</p>
 <pre class="literal-block">
 def LanguageMap : LanguageMap&lt;
     [LangToSuffixes&lt;&quot;c++&quot;, [&quot;cc&quot;, &quot;cp&quot;, &quot;cxx&quot;, &quot;cpp&quot;, &quot;CPP&quot;, &quot;c++&quot;, &quot;C&quot;]&gt;,
@@ -395,26 +498,106 @@
      ...
     ]&gt;;
 </pre>
+<p>For example, without those definitions the following command wouldn't work:</p>
+<pre class="literal-block">
+$ llvmc hello.cpp
+llvmc: Unknown suffix: cpp
+</pre>
+<p>The language map entries should be added only for tools that are
+linked with the root node. Since tools are not allowed to have
+multiple output languages, for nodes &quot;inside&quot; the graph the input and
+output languages should match. This is enforced at compile-time.</p>
 </div>
-<div class="doc_text">
-<div class="doc_section"><a class="toc-backref" href="#id11" id="references" name="references">References</a></div>
-<table class="docutils footnote" frame="void" id="id2" rules="none">
+<div class="section">
+<h1><a class="toc-backref" href="#id20" id="more-advanced-topics" name="more-advanced-topics">More advanced topics</a></h1>
+<div class="section">
+<h2><a class="toc-backref" href="#id21" id="hooks-and-environment-variables" name="hooks-and-environment-variables"><span id="hooks"></span>Hooks and environment variables</a></h2>
+<p>Normally, LLVMC executes programs from the system <tt class="docutils literal"><span class="pre">PATH</span></tt>. Sometimes,
+this is not sufficient: for example, we may want to specify tool names
+in the configuration file. This can be achieved via the mechanism of
+hooks - to write your own hooks, just add their definitions to the
+<tt class="docutils literal"><span class="pre">PluginMain.cpp</span></tt> or drop a <tt class="docutils literal"><span class="pre">.cpp</span></tt> file into the
+<tt class="docutils literal"><span class="pre">$LLVMC_DIR/driver</span></tt> directory. Hooks should live in the <tt class="docutils literal"><span class="pre">hooks</span></tt>
+namespace and have the signature <tt class="docutils literal"><span class="pre">std::string</span> <span class="pre">hooks::MyHookName</span>
+<span class="pre">(void)</span></tt>. They can be used from the <tt class="docutils literal"><span class="pre">cmd_line</span></tt> tool property:</p>
+<pre class="literal-block">
+(cmd_line &quot;$CALL(MyHook)/path/to/file -o $CALL(AnotherHook)&quot;)
+</pre>
+<p>It is also possible to use environment variables in the same manner:</p>
+<pre class="literal-block">
+(cmd_line &quot;$ENV(VAR1)/path/to/file -o $ENV(VAR2)&quot;)
+</pre>
+<p>To change the command line string based on user-provided options use
+the <tt class="docutils literal"><span class="pre">case</span></tt> expression (documented <a class="reference" href="#case">above</a>):</p>
+<pre class="literal-block">
+(cmd_line
+  (case
+    (switch_on &quot;E&quot;),
+       &quot;llvm-g++ -E -x c $INFILE -o $OUTFILE&quot;,
+    (default),
+       &quot;llvm-g++ -c -x c $INFILE -o $OUTFILE -emit-llvm&quot;))
+</pre>
+</div>
+<div class="section">
+<h2><a class="toc-backref" href="#id22" id="how-plugins-are-loaded" name="how-plugins-are-loaded"><span id="priorities"></span>How plugins are loaded</a></h2>
+<p>It is possible for LLVMC plugins to depend on each other. For example,
+one can create edges between nodes defined in some other plugin. To
+make this work, however, that plugin should be loaded first. To
+achieve this, the concept of plugin priority was introduced. By
+default, every plugin has priority zero; to specify the priority
+explicitly, put the following line in your plugin's TableGen file:</p>
+<pre class="literal-block">
+def Priority : PluginPriority&lt;$PRIORITY_VALUE&gt;;
+# Where PRIORITY_VALUE is some integer &gt; 0
+</pre>
+<p>Plugins are loaded in order of their (increasing) priority, starting
+with 0. Therefore, the plugin with the highest priority value will be
+loaded last.</p>
+</div>
+<div class="section">
+<h2><a class="toc-backref" href="#id23" id="debugging" name="debugging">Debugging</a></h2>
+<p>When writing LLVMC plugins, it can be useful to get a visual view of
+the resulting compilation graph. This can be achieved via the command
+line option <tt class="docutils literal"><span class="pre">--view-graph</span></tt>. This command assumes that Graphviz <a class="footnote-reference" href="#id8" id="id5" name="id5">[2]</a> and
+Ghostview <a class="footnote-reference" href="#id9" id="id6" name="id6">[3]</a> are installed. There is also a <tt class="docutils literal"><span class="pre">--dump-graph</span></tt> option that
+creates a Graphviz source file(<tt class="docutils literal"><span class="pre">compilation-graph.dot</span></tt>) in the
+current directory.</p>
+</div>
+</div>
+<div class="section">
+<h1><a class="toc-backref" href="#id24" id="references" name="references">References</a></h1>
+<table class="docutils footnote" frame="void" id="id7" rules="none">
 <colgroup><col class="label" /><col /></colgroup>
 <tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id1" name="id2">[1]</a></td><td>TableGen Fundamentals
+<tr><td class="label"><a class="fn-backref" href="#id1" name="id7">[1]</a></td><td>TableGen Fundamentals
 <a class="reference" href="http://llvm.cs.uiuc.edu/docs/TableGenFundamentals.html">http://llvm.cs.uiuc.edu/docs/TableGenFundamentals.html</a></td></tr>
 </tbody>
 </table>
-</div>
-</div>
-<hr />
+<table class="docutils footnote" frame="void" id="id8" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id5" name="id8">[2]</a></td><td>Graphviz
+<a class="reference" href="http://www.graphviz.org/">http://www.graphviz.org/</a></td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id9" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id6" name="id9">[3]</a></td><td>Ghostview
+<a class="reference" href="http://pages.cs.wisc.edu/~ghost/">http://pages.cs.wisc.edu/~ghost/</a></td></tr>
+</tbody>
+</table>
+<hr>
 <address>
-  <a href="http://jigsaw.w3.org/css-validator/check/referer"><img
-  src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS" /></a>
-  <a href="http://validator.w3.org/check/referer"><img
-  src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" /></a>
-  <a href="http://llvm.org">The LLVM Compiler Infrastructure</a><br/>
-  Last modified: $Date$
+  <a href="http://jigsaw.w3.org/css-validator/check/referer"><img src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS"></a>
+  <a href="http://validator.w3.org/check/referer"><img src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"></a>
+
+  <a href="mailto:foldr@codedgers.com">Mikhail Glushenkov</a><br>
+  <a href="http://llvm.org">LLVM Compiler Infrastructure</a><br>
+
+  Last modified: $Date: 2008-12-11 11:34:48 -0600 (Thu, 11 Dec 2008) $
 </address>
+</div>
+</div>
 </body>
 </html>
diff --git a/docs/CompilerDriverTutorial.html b/docs/CompilerDriverTutorial.html
new file mode 100644
index 0000000..2eb452a
--- /dev/null
+++ b/docs/CompilerDriverTutorial.html
@@ -0,0 +1,603 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="generator" content="Docutils 0.4.1: http://docutils.sourceforge.net/" />
+<title>Customizing LLVMC: Reference Manual</title>
+<meta name="author" content="Mikhail Glushenkov &lt;foldr&#64;codedegers.com&gt;" />
+<link rel="stylesheet" href="llvm-rst.css" type="text/css" />
+</head>
+<body>
+<div class="document" id="customizing-llvmc-reference-manual">
+<h1 class="title">Customizing LLVMC: Reference Manual</h1>
+<table class="docinfo" frame="void" rules="none">
+<col class="docinfo-name" />
+<col class="docinfo-content" />
+<tbody valign="top">
+<tr><th class="docinfo-name">Author:</th>
+<td>Mikhail Glushenkov &lt;<a class="reference" href="mailto:foldr&#64;codedegers.com">foldr&#64;codedegers.com</a>&gt;</td></tr>
+</tbody>
+</table>
+<p>LLVMC is a generic compiler driver, designed to be customizable and
+extensible. It plays the same role for LLVM as the <tt class="docutils literal"><span class="pre">gcc</span></tt> program
+does for GCC - LLVMC's job is essentially to transform a set of input
+files into a set of targets depending on configuration rules and user
+options. What makes LLVMC different is that these transformation rules
+are completely customizable - in fact, LLVMC knows nothing about the
+specifics of transformation (even the command-line options are mostly
+not hard-coded) and regards the transformation structure as an
+abstract graph. The structure of this graph is completely determined
+by plugins, which can be either statically or dynamically linked. This
+makes it possible to easily adapt LLVMC for other purposes - for
+example, as a build tool for game resources.</p>
+<p>Because LLVMC employs TableGen <a class="footnote-reference" href="#id7" id="id1" name="id1">[1]</a> as its configuration language, you
+need to be familiar with it to customize LLVMC.</p>
+<div class="contents topic">
+<p class="topic-title first"><a id="contents" name="contents">Contents</a></p>
+<ul class="simple">
+<li><a class="reference" href="#compiling-with-llvmc" id="id10" name="id10">Compiling with LLVMC</a></li>
+<li><a class="reference" href="#predefined-options" id="id11" name="id11">Predefined options</a></li>
+<li><a class="reference" href="#compiling-llvmc-plugins" id="id12" name="id12">Compiling LLVMC plugins</a></li>
+<li><a class="reference" href="#customizing-llvmc-the-compilation-graph" id="id13" name="id13">Customizing LLVMC: the compilation graph</a></li>
+<li><a class="reference" href="#describing-options" id="id14" name="id14">Describing options</a><ul>
+<li><a class="reference" href="#external-options" id="id15" name="id15">External options</a></li>
+</ul>
+</li>
+<li><a class="reference" href="#conditional-evaluation" id="id16" name="id16">Conditional evaluation</a></li>
+<li><a class="reference" href="#writing-a-tool-description" id="id17" name="id17">Writing a tool description</a><ul>
+<li><a class="reference" href="#actions" id="id18" name="id18">Actions</a></li>
+</ul>
+</li>
+<li><a class="reference" href="#language-map" id="id19" name="id19">Language map</a></li>
+<li><a class="reference" href="#more-advanced-topics" id="id20" name="id20">More advanced topics</a><ul>
+<li><a class="reference" href="#hooks-and-environment-variables" id="id21" name="id21">Hooks and environment variables</a></li>
+<li><a class="reference" href="#how-plugins-are-loaded" id="id22" name="id22">How plugins are loaded</a></li>
+<li><a class="reference" href="#debugging" id="id23" name="id23">Debugging</a></li>
+</ul>
+</li>
+<li><a class="reference" href="#references" id="id24" name="id24">References</a></li>
+</ul>
+</div>
+<div class="section">
+<h1><a class="toc-backref" href="#id10" id="compiling-with-llvmc" name="compiling-with-llvmc">Compiling with LLVMC</a></h1>
+<p>LLVMC tries hard to be as compatible with <tt class="docutils literal"><span class="pre">gcc</span></tt> as possible,
+although there are some small differences. Most of the time, however,
+you shouldn't be able to notice them:</p>
+<pre class="literal-block">
+$ # This works as expected:
+$ llvmc -O3 -Wall hello.cpp
+$ ./a.out
+hello
+</pre>
+<p>One nice feature of LLVMC is that one doesn't have to distinguish
+between different compilers for different languages (think <tt class="docutils literal"><span class="pre">g++</span></tt> and
+<tt class="docutils literal"><span class="pre">gcc</span></tt>) - the right toolchain is chosen automatically based on input
+language names (which are, in turn, determined from file
+extensions). If you want to force files ending with &quot;.c&quot; to compile as
+C++, use the <tt class="docutils literal"><span class="pre">-x</span></tt> option, just like you would do it with <tt class="docutils literal"><span class="pre">gcc</span></tt>:</p>
+<pre class="literal-block">
+$ # hello.c is really a C++ file
+$ llvmc -x c++ hello.c
+$ ./a.out
+hello
+</pre>
+<p>On the other hand, when using LLVMC as a linker to combine several C++
+object files you should provide the <tt class="docutils literal"><span class="pre">--linker</span></tt> option since it's
+impossible for LLVMC to choose the right linker in that case:</p>
+<pre class="literal-block">
+$ llvmc -c hello.cpp
+$ llvmc hello.o
+[A lot of link-time errors skipped]
+$ llvmc --linker=c++ hello.o
+$ ./a.out
+hello
+</pre>
+<p>By default, LLVMC uses <tt class="docutils literal"><span class="pre">llvm-gcc</span></tt> to compile the source code. It is
+also possible to choose the work-in-progress <tt class="docutils literal"><span class="pre">clang</span></tt> compiler with
+the <tt class="docutils literal"><span class="pre">-clang</span></tt> option.</p>
+</div>
+<div class="section">
+<h1><a class="toc-backref" href="#id11" id="predefined-options" name="predefined-options">Predefined options</a></h1>
+<p>LLVMC has some built-in options that can't be overridden in the
+configuration libraries:</p>
+<ul class="simple">
+<li><tt class="docutils literal"><span class="pre">-o</span> <span class="pre">FILE</span></tt> - Output file name.</li>
+<li><tt class="docutils literal"><span class="pre">-x</span> <span class="pre">LANGUAGE</span></tt> - Specify the language of the following input files
+until the next -x option.</li>
+<li><tt class="docutils literal"><span class="pre">-load</span> <span class="pre">PLUGIN_NAME</span></tt> - Load the specified plugin DLL. Example:
+<tt class="docutils literal"><span class="pre">-load</span> <span class="pre">$LLVM_DIR/Release/lib/LLVMCSimple.so</span></tt>.</li>
+<li><tt class="docutils literal"><span class="pre">-v</span></tt> - Enable verbose mode, i.e. print out all executed commands.</li>
+<li><tt class="docutils literal"><span class="pre">--view-graph</span></tt> - Show a graphical representation of the compilation
+graph. Requires that you have <tt class="docutils literal"><span class="pre">dot</span></tt> and <tt class="docutils literal"><span class="pre">gv</span></tt> programs
+installed. Hidden option, useful for debugging.</li>
+<li><tt class="docutils literal"><span class="pre">--write-graph</span></tt> - Write a <tt class="docutils literal"><span class="pre">compilation-graph.dot</span></tt> file in the
+current directory with the compilation graph description in the
+Graphviz format. Hidden option, useful for debugging.</li>
+<li><tt class="docutils literal"><span class="pre">--save-temps</span></tt> - Write temporary files to the current directory
+and do not delete them on exit. Hidden option, useful for debugging.</li>
+<li><tt class="docutils literal"><span class="pre">--help</span></tt>, <tt class="docutils literal"><span class="pre">--help-hidden</span></tt>, <tt class="docutils literal"><span class="pre">--version</span></tt> - These options have
+their standard meaning.</li>
+</ul>
+</div>
+<div class="section">
+<h1><a class="toc-backref" href="#id12" id="compiling-llvmc-plugins" name="compiling-llvmc-plugins">Compiling LLVMC plugins</a></h1>
+<p>It's easiest to start working on your own LLVMC plugin by copying the
+skeleton project which lives under <tt class="docutils literal"><span class="pre">$LLVMC_DIR/plugins/Simple</span></tt>:</p>
+<pre class="literal-block">
+$ cd $LLVMC_DIR/plugins
+$ cp -r Simple MyPlugin
+$ cd MyPlugin
+$ ls
+Makefile PluginMain.cpp Simple.td
+</pre>
+<p>As you can see, our basic plugin consists of only two files (not
+counting the build script). <tt class="docutils literal"><span class="pre">Simple.td</span></tt> contains TableGen
+description of the compilation graph; its format is documented in the
+following sections. <tt class="docutils literal"><span class="pre">PluginMain.cpp</span></tt> is just a helper file used to
+compile the auto-generated C++ code produced from TableGen source. It
+can also contain hook definitions (see <a class="reference" href="#hooks">below</a>).</p>
+<p>The first thing that you should do is to change the <tt class="docutils literal"><span class="pre">LLVMC_PLUGIN</span></tt>
+variable in the <tt class="docutils literal"><span class="pre">Makefile</span></tt> to avoid conflicts (since this variable
+is used to name the resulting library):</p>
+<pre class="literal-block">
+LLVMC_PLUGIN=MyPlugin
+</pre>
+<p>It is also a good idea to rename <tt class="docutils literal"><span class="pre">Simple.td</span></tt> to something less
+generic:</p>
+<pre class="literal-block">
+$ mv Simple.td MyPlugin.td
+</pre>
+<p>Note that the plugin source directory must be placed under
+<tt class="docutils literal"><span class="pre">$LLVMC_DIR/plugins</span></tt> to make use of the existing build
+infrastructure. To build a version of the LLVMC executable called
+<tt class="docutils literal"><span class="pre">mydriver</span></tt> with your plugin compiled in, use the following command:</p>
+<pre class="literal-block">
+$ cd $LLVMC_DIR
+$ make BUILTIN_PLUGINS=MyPlugin DRIVER_NAME=mydriver
+</pre>
+<p>To build your plugin as a dynamic library, just <tt class="docutils literal"><span class="pre">cd</span></tt> to its source
+directory and run <tt class="docutils literal"><span class="pre">make</span></tt>. The resulting file will be called
+<tt class="docutils literal"><span class="pre">LLVMC$(LLVMC_PLUGIN).$(DLL_EXTENSION)</span></tt> (in our case,
+<tt class="docutils literal"><span class="pre">LLVMCMyPlugin.so</span></tt>). This library can be then loaded in with the
+<tt class="docutils literal"><span class="pre">-load</span></tt> option. Example:</p>
+<pre class="literal-block">
+$ cd $LLVMC_DIR/plugins/Simple
+$ make
+$ llvmc -load $LLVM_DIR/Release/lib/LLVMCSimple.so
+</pre>
+<p>Sometimes, you will want a 'bare-bones' version of LLVMC that has no
+built-in plugins. It can be compiled with the following command:</p>
+<pre class="literal-block">
+$ cd $LLVMC_DIR
+$ make BUILTIN_PLUGINS=&quot;&quot;
+</pre>
+</div>
+<div class="section">
+<h1><a class="toc-backref" href="#id13" id="customizing-llvmc-the-compilation-graph" name="customizing-llvmc-the-compilation-graph">Customizing LLVMC: the compilation graph</a></h1>
+<p>Each TableGen configuration file should include the common
+definitions:</p>
+<pre class="literal-block">
+include &quot;llvm/CompilerDriver/Common.td&quot;
+</pre>
+<p>Internally, LLVMC stores information about possible source
+transformations in form of a graph. Nodes in this graph represent
+tools, and edges between two nodes represent a transformation path. A
+special &quot;root&quot; node is used to mark entry points for the
+transformations. LLVMC also assigns a weight to each edge (more on
+this later) to choose between several alternative edges.</p>
+<p>The definition of the compilation graph (see file
+<tt class="docutils literal"><span class="pre">plugins/Base/Base.td</span></tt> for an example) is just a list of edges:</p>
+<pre class="literal-block">
+def CompilationGraph : CompilationGraph&lt;[
+    Edge&lt;&quot;root&quot;, &quot;llvm_gcc_c&quot;&gt;,
+    Edge&lt;&quot;root&quot;, &quot;llvm_gcc_assembler&quot;&gt;,
+    ...
+
+    Edge&lt;&quot;llvm_gcc_c&quot;, &quot;llc&quot;&gt;,
+    Edge&lt;&quot;llvm_gcc_cpp&quot;, &quot;llc&quot;&gt;,
+    ...
+
+    OptionalEdge&lt;&quot;llvm_gcc_c&quot;, &quot;opt&quot;, (case (switch_on &quot;opt&quot;),
+                                      (inc_weight))&gt;,
+    OptionalEdge&lt;&quot;llvm_gcc_cpp&quot;, &quot;opt&quot;, (case (switch_on &quot;opt&quot;),
+                                              (inc_weight))&gt;,
+    ...
+
+    OptionalEdge&lt;&quot;llvm_gcc_assembler&quot;, &quot;llvm_gcc_cpp_linker&quot;,
+        (case (input_languages_contain &quot;c++&quot;), (inc_weight),
+              (or (parameter_equals &quot;linker&quot;, &quot;g++&quot;),
+                  (parameter_equals &quot;linker&quot;, &quot;c++&quot;)), (inc_weight))&gt;,
+    ...
+
+    ]&gt;;
+</pre>
+<p>As you can see, the edges can be either default or optional, where
+optional edges are differentiated by an additional <tt class="docutils literal"><span class="pre">case</span></tt> expression
+used to calculate the weight of this edge. Notice also that we refer
+to tools via their names (as strings). This makes it possible to add
+edges to an existing compilation graph in plugins without having to
+know about all tool definitions used in the graph.</p>
+<p>The default edges are assigned a weight of 1, and optional edges get a
+weight of 0 + 2*N where N is the number of tests that evaluated to
+true in the <tt class="docutils literal"><span class="pre">case</span></tt> expression. It is also possible to provide an
+integer parameter to <tt class="docutils literal"><span class="pre">inc_weight</span></tt> and <tt class="docutils literal"><span class="pre">dec_weight</span></tt> - in this case,
+the weight is increased (or decreased) by the provided value instead
+of the default 2. It is also possible to change the default weight of
+an optional edge by using the <tt class="docutils literal"><span class="pre">default</span></tt> clause of the <tt class="docutils literal"><span class="pre">case</span></tt>
+construct.</p>
+<p>When passing an input file through the graph, LLVMC picks the edge
+with the maximum weight. To avoid ambiguity, there should be only one
+default edge between two nodes (with the exception of the root node,
+which gets a special treatment - there you are allowed to specify one
+default edge <em>per language</em>).</p>
+<p>When multiple plugins are loaded, their compilation graphs are merged
+together. Since multiple edges that have the same end nodes are not
+allowed (i.e. the graph is not a multigraph), an edge defined in
+several plugins will be replaced by the definition from the plugin
+that was loaded last. Plugin load order can be controlled by using the
+plugin priority feature described above.</p>
+<p>To get a visual representation of the compilation graph (useful for
+debugging), run <tt class="docutils literal"><span class="pre">llvmc</span> <span class="pre">--view-graph</span></tt>. You will need <tt class="docutils literal"><span class="pre">dot</span></tt> and
+<tt class="docutils literal"><span class="pre">gsview</span></tt> installed for this to work properly.</p>
+</div>
+<div class="section">
+<h1><a class="toc-backref" href="#id14" id="describing-options" name="describing-options">Describing options</a></h1>
+<p>Command-line options that the plugin supports are defined by using an
+<tt class="docutils literal"><span class="pre">OptionList</span></tt>:</p>
+<pre class="literal-block">
+def Options : OptionList&lt;[
+(switch_option &quot;E&quot;, (help &quot;Help string&quot;)),
+(alias_option &quot;quiet&quot;, &quot;q&quot;)
+...
+]&gt;;
+</pre>
+<p>As you can see, the option list is just a list of DAGs, where each DAG
+is an option description consisting of the option name and some
+properties. A plugin can define more than one option list (they are
+all merged together in the end), which can be handy if one wants to
+separate option groups syntactically.</p>
+<ul>
+<li><p class="first">Possible option types:</p>
+<blockquote>
+<ul class="simple">
+<li><tt class="docutils literal"><span class="pre">switch_option</span></tt> - a simple boolean switch, for example <tt class="docutils literal"><span class="pre">-time</span></tt>.</li>
+<li><tt class="docutils literal"><span class="pre">parameter_option</span></tt> - option that takes an argument, for example
+<tt class="docutils literal"><span class="pre">-std=c99</span></tt>;</li>
+<li><tt class="docutils literal"><span class="pre">parameter_list_option</span></tt> - same as the above, but more than one
+occurence of the option is allowed.</li>
+<li><tt class="docutils literal"><span class="pre">prefix_option</span></tt> - same as the parameter_option, but the option name
+and parameter value are not separated.</li>
+<li><tt class="docutils literal"><span class="pre">prefix_list_option</span></tt> - same as the above, but more than one
+occurence of the option is allowed; example: <tt class="docutils literal"><span class="pre">-lm</span> <span class="pre">-lpthread</span></tt>.</li>
+<li><tt class="docutils literal"><span class="pre">alias_option</span></tt> - a special option type for creating
+aliases. Unlike other option types, aliases are not allowed to
+have any properties besides the aliased option name. Usage
+example: <tt class="docutils literal"><span class="pre">(alias_option</span> <span class="pre">&quot;preprocess&quot;,</span> <span class="pre">&quot;E&quot;)</span></tt></li>
+</ul>
+</blockquote>
+</li>
+<li><p class="first">Possible option properties:</p>
+<blockquote>
+<ul class="simple">
+<li><tt class="docutils literal"><span class="pre">help</span></tt> - help string associated with this option. Used for
+<tt class="docutils literal"><span class="pre">--help</span></tt> output.</li>
+<li><tt class="docutils literal"><span class="pre">required</span></tt> - this option is obligatory.</li>
+<li><tt class="docutils literal"><span class="pre">hidden</span></tt> - this option should not appear in the <tt class="docutils literal"><span class="pre">--help</span></tt>
+output (but should appear in the <tt class="docutils literal"><span class="pre">--help-hidden</span></tt> output).</li>
+<li><tt class="docutils literal"><span class="pre">really_hidden</span></tt> - the option should not appear in any help
+output.</li>
+<li><tt class="docutils literal"><span class="pre">extern</span></tt> - this option is defined in some other plugin, see below.</li>
+</ul>
+</blockquote>
+</li>
+</ul>
+<div class="section">
+<h2><a class="toc-backref" href="#id15" id="external-options" name="external-options">External options</a></h2>
+<p>Sometimes, when linking several plugins together, one plugin needs to
+access options defined in some other plugin. Because of the way
+options are implemented, such options should be marked as
+<tt class="docutils literal"><span class="pre">extern</span></tt>. This is what the <tt class="docutils literal"><span class="pre">extern</span></tt> option property is
+for. Example:</p>
+<pre class="literal-block">
+...
+(switch_option &quot;E&quot;, (extern))
+...
+</pre>
+<p>See also the section on plugin <a class="reference" href="#priorities">priorities</a>.</p>
+</div>
+</div>
+<div class="section">
+<h1><a class="toc-backref" href="#id16" id="conditional-evaluation" name="conditional-evaluation"><span id="case"></span>Conditional evaluation</a></h1>
+<p>The 'case' construct is the main means by which programmability is
+achieved in LLVMC. It can be used to calculate edge weights, program
+actions and modify the shell commands to be executed. The 'case'
+expression is designed after the similarly-named construct in
+functional languages and takes the form <tt class="docutils literal"><span class="pre">(case</span> <span class="pre">(test_1),</span> <span class="pre">statement_1,</span>
+<span class="pre">(test_2),</span> <span class="pre">statement_2,</span> <span class="pre">...</span> <span class="pre">(test_N),</span> <span class="pre">statement_N)</span></tt>. The statements
+are evaluated only if the corresponding tests evaluate to true.</p>
+<p>Examples:</p>
+<pre class="literal-block">
+// Edge weight calculation
+
+// Increases edge weight by 5 if &quot;-A&quot; is provided on the
+// command-line, and by 5 more if &quot;-B&quot; is also provided.
+(case
+    (switch_on &quot;A&quot;), (inc_weight 5),
+    (switch_on &quot;B&quot;), (inc_weight 5))
+
+
+// Tool command line specification
+
+// Evaluates to &quot;cmdline1&quot; if the option &quot;-A&quot; is provided on the
+// command line; to &quot;cmdline2&quot; if &quot;-B&quot; is provided;
+// otherwise to &quot;cmdline3&quot;.
+
+(case
+    (switch_on &quot;A&quot;), &quot;cmdline1&quot;,
+    (switch_on &quot;B&quot;), &quot;cmdline2&quot;,
+    (default), &quot;cmdline3&quot;)
+</pre>
+<p>Note the slight difference in 'case' expression handling in contexts
+of edge weights and command line specification - in the second example
+the value of the <tt class="docutils literal"><span class="pre">&quot;B&quot;</span></tt> switch is never checked when switch <tt class="docutils literal"><span class="pre">&quot;A&quot;</span></tt> is
+enabled, and the whole expression always evaluates to <tt class="docutils literal"><span class="pre">&quot;cmdline1&quot;</span></tt> in
+that case.</p>
+<p>Case expressions can also be nested, i.e. the following is legal:</p>
+<pre class="literal-block">
+(case (switch_on &quot;E&quot;), (case (switch_on &quot;o&quot;), ..., (default), ...)
+      (default), ...)
+</pre>
+<p>You should, however, try to avoid doing that because it hurts
+readability. It is usually better to split tool descriptions and/or
+use TableGen inheritance instead.</p>
+<ul class="simple">
+<li>Possible tests are:<ul>
+<li><tt class="docutils literal"><span class="pre">switch_on</span></tt> - Returns true if a given command-line switch is
+provided by the user. Example: <tt class="docutils literal"><span class="pre">(switch_on</span> <span class="pre">&quot;opt&quot;)</span></tt>.</li>
+<li><tt class="docutils literal"><span class="pre">parameter_equals</span></tt> - Returns true if a command-line parameter equals
+a given value.
+Example: <tt class="docutils literal"><span class="pre">(parameter_equals</span> <span class="pre">&quot;W&quot;,</span> <span class="pre">&quot;all&quot;)</span></tt>.</li>
+<li><tt class="docutils literal"><span class="pre">element_in_list</span></tt> - Returns true if a command-line parameter
+list contains a given value.
+Example: <tt class="docutils literal"><span class="pre">(parameter_in_list</span> <span class="pre">&quot;l&quot;,</span> <span class="pre">&quot;pthread&quot;)</span></tt>.</li>
+<li><tt class="docutils literal"><span class="pre">input_languages_contain</span></tt> - Returns true if a given language
+belongs to the current input language set.
+Example: <tt class="docutils literal"><span class="pre">(input_languages_contain</span> <span class="pre">&quot;c++&quot;)</span></tt>.</li>
+<li><tt class="docutils literal"><span class="pre">in_language</span></tt> - Evaluates to true if the input file language
+equals to the argument. At the moment works only with <tt class="docutils literal"><span class="pre">cmd_line</span></tt>
+and <tt class="docutils literal"><span class="pre">actions</span></tt> (on non-join nodes).
+Example: <tt class="docutils literal"><span class="pre">(in_language</span> <span class="pre">&quot;c++&quot;)</span></tt>.</li>
+<li><tt class="docutils literal"><span class="pre">not_empty</span></tt> - Returns true if a given option (which should be
+either a parameter or a parameter list) is set by the
+user.
+Example: <tt class="docutils literal"><span class="pre">(not_empty</span> <span class="pre">&quot;o&quot;)</span></tt>.</li>
+<li><tt class="docutils literal"><span class="pre">default</span></tt> - Always evaluates to true. Should always be the last
+test in the <tt class="docutils literal"><span class="pre">case</span></tt> expression.</li>
+<li><tt class="docutils literal"><span class="pre">and</span></tt> - A standard logical combinator that returns true iff all
+of its arguments return true. Used like this: <tt class="docutils literal"><span class="pre">(and</span> <span class="pre">(test1),</span>
+<span class="pre">(test2),</span> <span class="pre">...</span> <span class="pre">(testN))</span></tt>. Nesting of <tt class="docutils literal"><span class="pre">and</span></tt> and <tt class="docutils literal"><span class="pre">or</span></tt> is allowed,
+but not encouraged.</li>
+<li><tt class="docutils literal"><span class="pre">or</span></tt> - Another logical combinator that returns true only if any
+one of its arguments returns true. Example: <tt class="docutils literal"><span class="pre">(or</span> <span class="pre">(test1),</span>
+<span class="pre">(test2),</span> <span class="pre">...</span> <span class="pre">(testN))</span></tt>.</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="section">
+<h1><a class="toc-backref" href="#id17" id="writing-a-tool-description" name="writing-a-tool-description">Writing a tool description</a></h1>
+<p>As was said earlier, nodes in the compilation graph represent tools,
+which are described separately. A tool definition looks like this
+(taken from the <tt class="docutils literal"><span class="pre">include/llvm/CompilerDriver/Tools.td</span></tt> file):</p>
+<pre class="literal-block">
+def llvm_gcc_cpp : Tool&lt;[
+    (in_language &quot;c++&quot;),
+    (out_language &quot;llvm-assembler&quot;),
+    (output_suffix &quot;bc&quot;),
+    (cmd_line &quot;llvm-g++ -c $INFILE -o $OUTFILE -emit-llvm&quot;),
+    (sink)
+    ]&gt;;
+</pre>
+<p>This defines a new tool called <tt class="docutils literal"><span class="pre">llvm_gcc_cpp</span></tt>, which is an alias for
+<tt class="docutils literal"><span class="pre">llvm-g++</span></tt>. As you can see, a tool definition is just a list of
+properties; most of them should be self-explanatory. The <tt class="docutils literal"><span class="pre">sink</span></tt>
+property means that this tool should be passed all command-line
+options that aren't mentioned in the option list.</p>
+<p>The complete list of all currently implemented tool properties follows.</p>
+<ul class="simple">
+<li>Possible tool properties:<ul>
+<li><tt class="docutils literal"><span class="pre">in_language</span></tt> - input language name. Can be either a string or a
+list, in case the tool supports multiple input languages.</li>
+<li><tt class="docutils literal"><span class="pre">out_language</span></tt> - output language name. Tools are not allowed to
+have multiple output languages.</li>
+<li><tt class="docutils literal"><span class="pre">output_suffix</span></tt> - output file suffix. Can also be changed
+dynamically, see documentation on actions.</li>
+<li><tt class="docutils literal"><span class="pre">cmd_line</span></tt> - the actual command used to run the tool. You can
+use <tt class="docutils literal"><span class="pre">$INFILE</span></tt> and <tt class="docutils literal"><span class="pre">$OUTFILE</span></tt> variables, output redirection
+with <tt class="docutils literal"><span class="pre">&gt;</span></tt>, hook invocations (<tt class="docutils literal"><span class="pre">$CALL</span></tt>), environment variables
+(via <tt class="docutils literal"><span class="pre">$ENV</span></tt>) and the <tt class="docutils literal"><span class="pre">case</span></tt> construct.</li>
+<li><tt class="docutils literal"><span class="pre">join</span></tt> - this tool is a &quot;join node&quot; in the graph, i.e. it gets a
+list of input files and joins them together. Used for linkers.</li>
+<li><tt class="docutils literal"><span class="pre">sink</span></tt> - all command-line options that are not handled by other
+tools are passed to this tool.</li>
+<li><tt class="docutils literal"><span class="pre">actions</span></tt> - A single big <tt class="docutils literal"><span class="pre">case</span></tt> expression that specifies how
+this tool reacts on command-line options (described in more detail
+below).</li>
+</ul>
+</li>
+</ul>
+<div class="section">
+<h2><a class="toc-backref" href="#id18" id="actions" name="actions">Actions</a></h2>
+<p>A tool often needs to react to command-line options, and this is
+precisely what the <tt class="docutils literal"><span class="pre">actions</span></tt> property is for. The next example
+illustrates this feature:</p>
+<pre class="literal-block">
+def llvm_gcc_linker : Tool&lt;[
+    (in_language &quot;object-code&quot;),
+    (out_language &quot;executable&quot;),
+    (output_suffix &quot;out&quot;),
+    (cmd_line &quot;llvm-gcc $INFILE -o $OUTFILE&quot;),
+    (join),
+    (actions (case (not_empty &quot;L&quot;), (forward &quot;L&quot;),
+                   (not_empty &quot;l&quot;), (forward &quot;l&quot;),
+                   (not_empty &quot;dummy&quot;),
+                             [(append_cmd &quot;-dummy1&quot;), (append_cmd &quot;-dummy2&quot;)])
+    ]&gt;;
+</pre>
+<p>The <tt class="docutils literal"><span class="pre">actions</span></tt> tool property is implemented on top of the omnipresent
+<tt class="docutils literal"><span class="pre">case</span></tt> expression. It associates one or more different <em>actions</em>
+with given conditions - in the example, the actions are <tt class="docutils literal"><span class="pre">forward</span></tt>,
+which forwards a given option unchanged, and <tt class="docutils literal"><span class="pre">append_cmd</span></tt>, which
+appends a given string to the tool execution command. Multiple actions
+can be associated with a single condition by using a list of actions
+(used in the example to append some dummy options). The same <tt class="docutils literal"><span class="pre">case</span></tt>
+construct can also be used in the <tt class="docutils literal"><span class="pre">cmd_line</span></tt> property to modify the
+tool command line.</p>
+<p>The &quot;join&quot; property used in the example means that this tool behaves
+like a linker.</p>
+<p>The list of all possible actions follows.</p>
+<ul>
+<li><p class="first">Possible actions:</p>
+<blockquote>
+<ul class="simple">
+<li><tt class="docutils literal"><span class="pre">append_cmd</span></tt> - append a string to the tool invocation
+command.
+Example: <tt class="docutils literal"><span class="pre">(case</span> <span class="pre">(switch_on</span> <span class="pre">&quot;pthread&quot;),</span> <span class="pre">(append_cmd</span> <span class="pre">&quot;-lpthread&quot;))</span></tt></li>
+<li><tt class="docutils literal"><span class="pre">forward</span></tt> - forward an option unchanged.
+Example: <tt class="docutils literal"><span class="pre">(forward</span> <span class="pre">&quot;Wall&quot;)</span></tt>.</li>
+<li><tt class="docutils literal"><span class="pre">forward_as</span></tt> - Change the name of an option, but forward the
+argument unchanged.
+Example: <tt class="docutils literal"><span class="pre">(forward_as</span> <span class="pre">&quot;O0&quot;</span> <span class="pre">&quot;--disable-optimization&quot;)</span></tt>.</li>
+<li><tt class="docutils literal"><span class="pre">output_suffix</span></tt> - modify the output suffix of this
+tool.
+Example: <tt class="docutils literal"><span class="pre">(output_suffix</span> <span class="pre">&quot;i&quot;)</span></tt>.</li>
+<li><tt class="docutils literal"><span class="pre">stop_compilation</span></tt> - stop compilation after this tool processes
+its input. Used without arguments.</li>
+<li><tt class="docutils literal"><span class="pre">unpack_values</span></tt> - used for for splitting and forwarding
+comma-separated lists of options, e.g. <tt class="docutils literal"><span class="pre">-Wa,-foo=bar,-baz</span></tt> is
+converted to <tt class="docutils literal"><span class="pre">-foo=bar</span> <span class="pre">-baz</span></tt> and appended to the tool invocation
+command.
+Example: <tt class="docutils literal"><span class="pre">(unpack_values</span> <span class="pre">&quot;Wa,&quot;)</span></tt>.</li>
+</ul>
+</blockquote>
+</li>
+</ul>
+</div>
+</div>
+<div class="section">
+<h1><a class="toc-backref" href="#id19" id="language-map" name="language-map">Language map</a></h1>
+<p>If you are adding support for a new language to LLVMC, you'll need to
+modify the language map, which defines mappings from file extensions
+to language names. It is used to choose the proper toolchain(s) for a
+given input file set. Language map definition looks like this:</p>
+<pre class="literal-block">
+def LanguageMap : LanguageMap&lt;
+    [LangToSuffixes&lt;&quot;c++&quot;, [&quot;cc&quot;, &quot;cp&quot;, &quot;cxx&quot;, &quot;cpp&quot;, &quot;CPP&quot;, &quot;c++&quot;, &quot;C&quot;]&gt;,
+     LangToSuffixes&lt;&quot;c&quot;, [&quot;c&quot;]&gt;,
+     ...
+    ]&gt;;
+</pre>
+<p>For example, without those definitions the following command wouldn't work:</p>
+<pre class="literal-block">
+$ llvmc hello.cpp
+llvmc: Unknown suffix: cpp
+</pre>
+<p>The language map entries should be added only for tools that are
+linked with the root node. Since tools are not allowed to have
+multiple output languages, for nodes &quot;inside&quot; the graph the input and
+output languages should match. This is enforced at compile-time.</p>
+</div>
+<div class="section">
+<h1><a class="toc-backref" href="#id20" id="more-advanced-topics" name="more-advanced-topics">More advanced topics</a></h1>
+<div class="section">
+<h2><a class="toc-backref" href="#id21" id="hooks-and-environment-variables" name="hooks-and-environment-variables"><span id="hooks"></span>Hooks and environment variables</a></h2>
+<p>Normally, LLVMC executes programs from the system <tt class="docutils literal"><span class="pre">PATH</span></tt>. Sometimes,
+this is not sufficient: for example, we may want to specify tool names
+in the configuration file. This can be achieved via the mechanism of
+hooks - to write your own hooks, just add their definitions to the
+<tt class="docutils literal"><span class="pre">PluginMain.cpp</span></tt> or drop a <tt class="docutils literal"><span class="pre">.cpp</span></tt> file into the
+<tt class="docutils literal"><span class="pre">$LLVMC_DIR/driver</span></tt> directory. Hooks should live in the <tt class="docutils literal"><span class="pre">hooks</span></tt>
+namespace and have the signature <tt class="docutils literal"><span class="pre">std::string</span> <span class="pre">hooks::MyHookName</span>
+<span class="pre">(void)</span></tt>. They can be used from the <tt class="docutils literal"><span class="pre">cmd_line</span></tt> tool property:</p>
+<pre class="literal-block">
+(cmd_line &quot;$CALL(MyHook)/path/to/file -o $CALL(AnotherHook)&quot;)
+</pre>
+<p>It is also possible to use environment variables in the same manner:</p>
+<pre class="literal-block">
+(cmd_line &quot;$ENV(VAR1)/path/to/file -o $ENV(VAR2)&quot;)
+</pre>
+<p>To change the command line string based on user-provided options use
+the <tt class="docutils literal"><span class="pre">case</span></tt> expression (documented <a class="reference" href="#case">above</a>):</p>
+<pre class="literal-block">
+(cmd_line
+  (case
+    (switch_on &quot;E&quot;),
+       &quot;llvm-g++ -E -x c $INFILE -o $OUTFILE&quot;,
+    (default),
+       &quot;llvm-g++ -c -x c $INFILE -o $OUTFILE -emit-llvm&quot;))
+</pre>
+</div>
+<div class="section">
+<h2><a class="toc-backref" href="#id22" id="how-plugins-are-loaded" name="how-plugins-are-loaded"><span id="priorities"></span>How plugins are loaded</a></h2>
+<p>It is possible for LLVMC plugins to depend on each other. For example,
+one can create edges between nodes defined in some other plugin. To
+make this work, however, that plugin should be loaded first. To
+achieve this, the concept of plugin priority was introduced. By
+default, every plugin has priority zero; to specify the priority
+explicitly, put the following line in your plugin's TableGen file:</p>
+<pre class="literal-block">
+def Priority : PluginPriority&lt;$PRIORITY_VALUE&gt;;
+# Where PRIORITY_VALUE is some integer &gt; 0
+</pre>
+<p>Plugins are loaded in order of their (increasing) priority, starting
+with 0. Therefore, the plugin with the highest priority value will be
+loaded last.</p>
+</div>
+<div class="section">
+<h2><a class="toc-backref" href="#id23" id="debugging" name="debugging">Debugging</a></h2>
+<p>When writing LLVMC plugins, it can be useful to get a visual view of
+the resulting compilation graph. This can be achieved via the command
+line option <tt class="docutils literal"><span class="pre">--view-graph</span></tt>. This command assumes that Graphviz <a class="footnote-reference" href="#id8" id="id5" name="id5">[2]</a> and
+Ghostview <a class="footnote-reference" href="#id9" id="id6" name="id6">[3]</a> are installed. There is also a <tt class="docutils literal"><span class="pre">--dump-graph</span></tt> option that
+creates a Graphviz source file(<tt class="docutils literal"><span class="pre">compilation-graph.dot</span></tt>) in the
+current directory.</p>
+</div>
+</div>
+<div class="section">
+<h1><a class="toc-backref" href="#id24" id="references" name="references">References</a></h1>
+<table class="docutils footnote" frame="void" id="id7" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id1" name="id7">[1]</a></td><td>TableGen Fundamentals
+<a class="reference" href="http://llvm.cs.uiuc.edu/docs/TableGenFundamentals.html">http://llvm.cs.uiuc.edu/docs/TableGenFundamentals.html</a></td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id8" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id5" name="id8">[2]</a></td><td>Graphviz
+<a class="reference" href="http://www.graphviz.org/">http://www.graphviz.org/</a></td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id9" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id6" name="id9">[3]</a></td><td>Ghostview
+<a class="reference" href="http://pages.cs.wisc.edu/~ghost/">http://pages.cs.wisc.edu/~ghost/</a></td></tr>
+</tbody>
+</table>
+<hr>
+<address>
+  <a href="http://jigsaw.w3.org/css-validator/check/referer"><img src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS"></a>
+  <a href="http://validator.w3.org/check/referer"><img src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"></a>
+
+  <a href="mailto:foldr@codedgers.com">Mikhail Glushenkov</a><br>
+  <a href="http://llvm.org">LLVM Compiler Infrastructure</a><br>
+
+  Last modified: $Date: 2008-12-11 11:34:48 -0600 (Thu, 11 Dec 2008) $
+</address>
+</div>
+</div>
+</body>
+</html>
diff --git a/docs/index.html b/docs/index.html
index 0a50c3c..9388750 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -30,7 +30,7 @@
 </td></tr></table>
 </div>
 
-<div class="doc_author">    
+<div class="doc_author">
   <p>Written by <a href="http://llvm.org">The LLVM Team</a></p>
 </div>
 
@@ -100,7 +100,7 @@
 <li><a href="FAQ.html">Frequently Asked Questions</a> - A list of common
 questions and problems and their solutions.</li>
 
-<li><a href="ReleaseNotes.html">Release notes for the current release</a> 
+<li><a href="ReleaseNotes.html">Release notes for the current release</a>
 - This describes new features, known bugs, and other limitations.</li>
 
 <li><a href="HowToSubmitABug.html">How to Submit A Bug Report</a> -
@@ -116,9 +116,9 @@
 <li><a href="Lexicon.html">The LLVM Lexicon</a> - Definition of acronyms, terms
 and concepts used in LLVM.</li>
 
-<li><a name="irc">You can probably find help on the unofficial LLVM IRC 
-channel</a>.  We often are on irc.oftc.net in the #llvm channel.  If you are 
-using the mozilla browser, and have chatzilla installed, you can <a 
+<li><a name="irc">You can probably find help on the unofficial LLVM IRC
+channel</a>.  We often are on irc.oftc.net in the #llvm channel.  If you are
+using the mozilla browser, and have chatzilla installed, you can <a
 href="irc://irc.oftc.net/llvm">join #llvm on irc.oftc.net</a> directly.</li>
 
 </ul>
@@ -152,7 +152,7 @@
 Details the LLVM coding standards and provides useful information on writing
 efficient C++ code.</li>
 
-<li><a href="ExtendingLLVM.html">Extending LLVM</a> - Look here to see how 
+<li><a href="ExtendingLLVM.html">Extending LLVM</a> - Look here to see how
 to add instructions and intrinsics to LLVM.</li>
 
 <li><a href="UsingLibraries.html">Using LLVM Libraries</a> - Look here to
@@ -161,7 +161,7 @@
 <li><a href="HowToReleaseLLVM.html">How To Release LLVM To The Public</a> - This
 is a guide to preparing LLVM releases. Most developers can ignore it.</li>
 
-<li><a href="http://llvm.org/doxygen/">Doxygen generated 
+<li><a href="http://llvm.org/doxygen/">Doxygen generated
 documentation</a> (<a
 href="http://llvm.org/doxygen/inherits.html">classes</a>)
 
@@ -205,18 +205,22 @@
 LLVM</a> - This document describes the design and philosophy behind the LLVM
 source-level debugger.</li>
 
-<li><a href="ExceptionHandling.html">Zero Cost Exception handling in LLVM</a> 
+<li><a href="ExceptionHandling.html">Zero Cost Exception handling in LLVM</a>
 - This document describes the design and implementation of exception handling
 in LLVM.</li>
 
 <li><a href="Bugpoint.html">Bugpoint</a> - automatic bug finder and test-case
 reducer description and usage information.</li>
 
-<li><a href="CompilerDriver.html">Compiler Driver (llvmc)</a> - This document
-describes the design and configuration of the LLVM compiler driver tool,
-<tt>llvmc</tt>.</li>
+<li><a href="CompilerDriverTutorial.html">Compiler Driver (llvmc) Tutorial</a>
+- This document is a tutorial introduction to the usage and
+configuration of the LLVM compiler driver tool, <tt>llvmc</tt>.</li>
 
-<li><a href="BitCodeFormat.html">LLVM Bitcode File Format</a> - This describes 
+<li><a href="CompilerDriver.html">Compiler Driver (llvmc)
+Reference</a> - This document describes the design and configuration
+of <tt>llvmc</tt> in more detail.</li>
+
+<li><a href="BitCodeFormat.html">LLVM Bitcode File Format</a> - This describes
 the file format and encoding used for LLVM "bc" files.</li>
 
 <li><a href="SystemLibrary.html">System Library</a> - This document describes
@@ -236,22 +240,22 @@
 
 <ul>
 <li>The <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-announce">
-LLVM Announcements List</a>: This is a low volume list that provides important 
+LLVM Announcements List</a>: This is a low volume list that provides important
 announcements regarding LLVM.  It gets email about once a month.</li>
 
 <li>The <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">Developer's
-List</a>: This list is for people who want to be included in technical 
-discussions of LLVM. People post to this list when they have questions about 
+List</a>: This list is for people who want to be included in technical
+discussions of LLVM. People post to this list when they have questions about
 writing code for or using the LLVM tools. It is relatively low volume.</li>
 
 <li>The <a href="http://lists.cs.uiuc.edu/pipermail/llvmbugs/">Bugs &amp;
 Patches Archive</a>: This list gets emailed every time a bug is opened and
-closed, and when people submit patches to be included in LLVM.  It is higher 
+closed, and when people submit patches to be included in LLVM.  It is higher
 volume than the LLVMdev list.</li>
 
 <li>The <a href="http://lists.cs.uiuc.edu/pipermail/llvm-commits/">Commits
-Archive</a>: This list contains all commit messages that are made when LLVM 
-developers commit code changes to the repository. It is useful for those who 
+Archive</a>: This list contains all commit messages that are made when LLVM
+developers commit code changes to the repository. It is useful for those who
 want to stay on the bleeding edge of LLVM development. This list is very high
 volume.</li>
 
diff --git a/tools/llvmc/doc/llvm.css b/docs/llvm-rst.css
similarity index 82%
rename from tools/llvmc/doc/llvm.css
rename to docs/llvm-rst.css
index 1c7e5cc..6937e4b 100644
--- a/tools/llvmc/doc/llvm.css
+++ b/docs/llvm-rst.css
@@ -23,7 +23,7 @@
  * Documentation
  */
 /* Common for title and header */
-h1 {
+h1, h2 {
   color: black; background: url("img/lines.gif");
   font-family: "Georgia,Palatino,Times,Roman,SanSerif"; font-weight: bold;
   border-width: 1px;
@@ -32,19 +32,23 @@
   vertical-align: middle;
   padding-left: 8pt;
   padding-top: 1px;
-  padding-bottom: 2px
+  padding-bottom: 2px;
 }
 
-.doc_title      { text-align: left;   font-size: 25pt }
-.doc_section    { text-align: center; font-size: 22pt;
-                  margin: 20pt 0pt 5pt 0pt; }
-.doc_subsection { width: 75%;
-                  text-align: left;  font-size: 12pt; padding: 4pt 4pt 4pt 4pt;
-                  margin: 1.5em 0.5em 0.5em 0.5em }
+h1 {
+  text-align: center;
+  font-size: 22pt;
+  margin: 20pt 0pt 5pt 0pt;
+}
 
-.doc_subsubsection { margin: 2.0em 0.5em 0.5em 0.5em;
-                     font-weight: bold; font-style: oblique;
-                     border-bottom: 1px solid #999999; font-size: 12pt;
+.title      { padding-top: 0; margin-top: 0; text-align: left;   font-size: 25pt }
+h2 { width: 75%;
+     text-align: left;  font-size: 12pt; padding: 4pt 4pt 4pt 4pt;
+     margin: 1.5em 0.5em 0.5em 0.5em }
+
+h3 { margin: 2.0em 0.5em 0.5em 0.5em;
+     font-weight: bold; font-style: oblique;
+     border-bottom: 1px solid #999999; font-size: 12pt;
                      width: 75%; }
 .doc_author     { text-align: left; font-weight: bold; padding-left: 20pt }
 .doc_text       { text-align: left; padding-left: 20pt; padding-right: 10pt }
@@ -83,4 +87,4 @@
 /* Left align table cell */
 .td_left        { border: 2px solid gray; text-align: left; }
 
-.toc-backref    { color: black; }
+.toc-backref    { color: black; text-decoration: none; }
diff --git a/tools/llvmc/doc/LLVMC-Reference.rst b/tools/llvmc/doc/LLVMC-Reference.rst
index 4fc53e0..c01f0bb 100644
--- a/tools/llvmc/doc/LLVMC-Reference.rst
+++ b/tools/llvmc/doc/LLVMC-Reference.rst
@@ -597,3 +597,6 @@
 
 .. [3] Ghostview
        http://pages.cs.wisc.edu/~ghost/
+
+.. raw:: html
+   :file: footer.html
diff --git a/tools/llvmc/doc/LLVMC-Tutorial.rst b/tools/llvmc/doc/LLVMC-Tutorial.rst
index d41f90d..40292ee 100644
--- a/tools/llvmc/doc/LLVMC-Tutorial.rst
+++ b/tools/llvmc/doc/LLVMC-Tutorial.rst
@@ -98,3 +98,6 @@
 
 .. [1] TableGen Fundamentals
        http://llvm.cs.uiuc.edu/docs/TableGenFundamentals.html
+
+.. raw:: html
+   :file: footer.html
diff --git a/tools/llvmc/doc/Makefile b/tools/llvmc/doc/Makefile
index 864376f..60ba2ed 100644
--- a/tools/llvmc/doc/Makefile
+++ b/tools/llvmc/doc/Makefile
@@ -7,15 +7,23 @@
 #
 ##===----------------------------------------------------------------------===##
 
-RST2HTML=rst2html --stylesheet=llvm.css --link-stylesheet
+LEVEL=../../..
+include $(LEVEL)/Makefile.config
 
-all : LLVMC-Reference.html LLVMC-Tutorial.html
+RST_CSS=llvm-rst.css
+DOC_DIR=../../../docs
+RST2HTML=rst2html --stylesheet=$(RST_CSS) --link-stylesheet
 
-LLVMC-Tutorial.html : LLVMC-Tutorial.rst llvm.css
+all : LLVMC-Reference.html LLVMC-Tutorial.html $(RST_CSS)
+	$(CP) $(RST_CSS) $(DOC_DIR)/$(RST_CSS)
+	$(CP) LLVMC-Reference.html $(DOC_DIR)/CompilerDriver.html
+	$(CP) LLVMC-Reference.html $(DOC_DIR)/CompilerDriverTutorial.html
+
+LLVMC-Tutorial.html : LLVMC-Tutorial.rst $(RST_CSS)
 	$(RST2HTML) $< $@
 
-LLVMC-Reference.html : LLVMC-Reference.rst llvm.css
+LLVMC-Reference.html : LLVMC-Reference.rst $(RST_CSS)
 	$(RST2HTML) $< $@
 
 clean :
-	rm *.html
+	$(RM) LLVMC-Tutorial.html LLVMC-Reference.html
diff --git a/tools/llvmc/doc/footer.html b/tools/llvmc/doc/footer.html
new file mode 100644
index 0000000..60767e7
--- /dev/null
+++ b/tools/llvmc/doc/footer.html
@@ -0,0 +1,10 @@
+<hr>
+<address>
+  <a href="http://jigsaw.w3.org/css-validator/check/referer"><img src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS"></a>
+  <a href="http://validator.w3.org/check/referer"><img src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"></a>
+
+  <a href="mailto:foldr@codedgers.com">Mikhail Glushenkov</a><br>
+  <a href="http://llvm.org">LLVM Compiler Infrastructure</a><br>
+
+  Last modified: $Date: 2008-12-11 11:34:48 -0600 (Thu, 11 Dec 2008) $
+</address>
diff --git a/tools/llvmc/doc/llvm.css b/tools/llvmc/doc/llvm-rst.css
similarity index 82%
copy from tools/llvmc/doc/llvm.css
copy to tools/llvmc/doc/llvm-rst.css
index 1c7e5cc..6937e4b 100644
--- a/tools/llvmc/doc/llvm.css
+++ b/tools/llvmc/doc/llvm-rst.css
@@ -23,7 +23,7 @@
  * Documentation
  */
 /* Common for title and header */
-h1 {
+h1, h2 {
   color: black; background: url("img/lines.gif");
   font-family: "Georgia,Palatino,Times,Roman,SanSerif"; font-weight: bold;
   border-width: 1px;
@@ -32,19 +32,23 @@
   vertical-align: middle;
   padding-left: 8pt;
   padding-top: 1px;
-  padding-bottom: 2px
+  padding-bottom: 2px;
 }
 
-.doc_title      { text-align: left;   font-size: 25pt }
-.doc_section    { text-align: center; font-size: 22pt;
-                  margin: 20pt 0pt 5pt 0pt; }
-.doc_subsection { width: 75%;
-                  text-align: left;  font-size: 12pt; padding: 4pt 4pt 4pt 4pt;
-                  margin: 1.5em 0.5em 0.5em 0.5em }
+h1 {
+  text-align: center;
+  font-size: 22pt;
+  margin: 20pt 0pt 5pt 0pt;
+}
 
-.doc_subsubsection { margin: 2.0em 0.5em 0.5em 0.5em;
-                     font-weight: bold; font-style: oblique;
-                     border-bottom: 1px solid #999999; font-size: 12pt;
+.title      { padding-top: 0; margin-top: 0; text-align: left;   font-size: 25pt }
+h2 { width: 75%;
+     text-align: left;  font-size: 12pt; padding: 4pt 4pt 4pt 4pt;
+     margin: 1.5em 0.5em 0.5em 0.5em }
+
+h3 { margin: 2.0em 0.5em 0.5em 0.5em;
+     font-weight: bold; font-style: oblique;
+     border-bottom: 1px solid #999999; font-size: 12pt;
                      width: 75%; }
 .doc_author     { text-align: left; font-weight: bold; padding-left: 20pt }
 .doc_text       { text-align: left; padding-left: 20pt; padding-right: 10pt }
@@ -83,4 +87,4 @@
 /* Left align table cell */
 .td_left        { border: 2px solid gray; text-align: left; }
 
-.toc-backref    { color: black; }
+.toc-backref    { color: black; text-decoration: none; }
