diff --git a/docs/GettingStarted.html b/docs/GettingStarted.html
index 059db91..ff7feb7 100644
--- a/docs/GettingStarted.html
+++ b/docs/GettingStarted.html
@@ -41,6 +41,7 @@
       <li><a href="#lib"><tt>llvm/lib</tt></a>
       <li><a href="#runtime"><tt>llvm/runtime</tt></a>  
       <li><a href="#test"><tt>llvm/test</tt></a>
+      <li><a href="#llvmtest"><tt>llvm-test</tt></a>
       <li><a href="#tools"><tt>llvm/tools</tt></a>  
       <li><a href="#utils"><tt>llvm/utils</tt></a>
     </ol></li>
@@ -890,9 +891,7 @@
 </div>
 
 <!-- ======================================================================= -->
-<div class="doc_subsection">
-  <a name="cvsdir"><tt>CVS</tt> directories</a>
-</div>
+<div class="doc_subsection"><a name="cvsdir"><tt>CVS</tt> directories</a></div>
 
 <div class="doc_text">
 
@@ -902,39 +901,36 @@
 </div>
 
 <!-- ======================================================================= -->
-<div class="doc_subsection">
-  <a name="include"><tt>llvm/include</tt></a>
-</div>
+<div class="doc_subsection"><a name="include"><tt>llvm/include</tt></a></div>
 
 <div class="doc_text">
 
 <p>This directory contains public header files exported from the LLVM
 library. The three main subdirectories of this directory are:</p>
 
-<ol>
-  <li><tt>llvm/include/llvm</tt> - This directory contains all of the LLVM
-      specific header files.  This directory also has subdirectories for
-      different portions of LLVM: <tt>Analysis</tt>, <tt>CodeGen</tt>,
-      <tt>Target</tt>, <tt>Transforms</tt>, etc...</li>
+<dl>
+  <dt><tt><b>llvm/include/llvm</b></tt></dt>
+  <dd>This directory contains all of the LLVM specific header files.  This 
+  directory also has subdirectories for different portions of LLVM: 
+  <tt>Analysis</tt>, <tt>CodeGen</tt>, <tt>Target</tt>, <tt>Transforms</tt>, 
+  etc...</dd>
 
-  <li><tt>llvm/include/Support</tt> - This directory contains generic
-      support libraries that are independent of LLVM, but are used by LLVM.
-      For example, some C++ STL utilities and a Command Line option processing
-      library store their header files here.</li>
+  <dt><tt><b>llvm/include/llvm/Support</b></tt></dt>
+  <dd>This directory contains generic support libraries that are provided with 
+  LLVM but not necessarily specific to LLVM. For example, some C++ STL utilities 
+  and a Command Line option processing library store their header files here.
+  </dd>
 
-  <li><tt>llvm/include/Config</tt> - This directory contains header files
-      configured by the <tt>configure</tt> script.  They wrap "standard" UNIX
-      and C header files.  Source code can include these header files which
-      automatically take care of the conditional #includes that the
-      <tt>configure</tt> script generates.</li>
-</ol>
-
+  <dt><tt><b>llvm/include/llvm/Config</b></tt></dt>
+  <dd>This directory contains header files configured by the <tt>configure</tt> 
+  script.  They wrap "standard" UNIX and C header files.  Source code can 
+  include these header files which automatically take care of the conditional 
+  #includes that the <tt>configure</tt> script generates.</dd>
+</dl>
 </div>
 
 <!-- ======================================================================= -->
-<div class="doc_subsection">
-  <a name="lib"><tt>llvm/lib</tt></a>
-</div>
+<div class="doc_subsection"><a name="lib"><tt>llvm/lib</tt></a></div>
 
 <div class="doc_text">
 
@@ -943,49 +939,60 @@
 different <a href="#tools">tools</a>.</p>
 
 <dl>
-  <dt><tt>llvm/lib/VMCore/</tt><dd> This directory holds the core LLVM
-  source files that implement core classes like Instruction and BasicBlock.
+  <dt><tt><b>llvm/lib/VMCore/</b></tt></dt>
+  <dd> This directory holds the core LLVM source files that implement core 
+  classes like Instruction and BasicBlock.</dd>
 
-  <dt><tt>llvm/lib/AsmParser/</tt><dd> This directory holds the source code
-  for the LLVM assembly language parser library.
+  <dt><tt><b>llvm/lib/AsmParser/</b></tt></dt>
+  <dd>This directory holds the source code for the LLVM assembly language parser 
+  library.</dd>
 
-  <dt><tt>llvm/lib/ByteCode/</tt><dd> This directory holds code for reading
-  and write LLVM bytecode.
+  <dt><tt><b>llvm/lib/ByteCode/</b></tt></dt>
+  <dd>This directory holds code for reading and write LLVM bytecode.</dd>
 
-  <dt><tt>llvm/lib/CWriter/</tt><dd> This directory implements the LLVM to C
-  converter.
-
-  <dt><tt>llvm/lib/Analysis/</tt><dd> This directory contains a variety of
+  <dt><tt><b>llvm/lib/Analysis/</b></tt><dd>This directory contains a variety of
   different program analyses, such as Dominator Information, Call Graphs,
   Induction Variables, Interval Identification, Natural Loop Identification,
-  etc...
+  etc.</dd>
 
-  <dt><tt>llvm/lib/Transforms/</tt><dd> This directory contains the source
-  code for the LLVM to LLVM program transformations, such as Aggressive Dead
-  Code Elimination, Sparse Conditional Constant Propagation, Inlining, Loop
-  Invariant Code Motion, Dead Global Elimination, and many others...
+  <dt><tt><b>llvm/lib/Transforms/</b></tt></dt>
+  <dd> This directory contains the source code for the LLVM to LLVM program 
+  transformations, such as Aggressive Dead Code Elimination, Sparse Conditional 
+  Constant Propagation, Inlining, Loop Invariant Code Motion, Dead Global 
+  Elimination, and many others.</dd>
 
-  <dt><tt>llvm/lib/Target/</tt><dd> This directory contains files that
-  describe various target architectures for code generation.  For example,
-  the llvm/lib/Target/SparcV9 directory holds the Sparc machine
-  description.<br>
+  <dt><tt><b>llvm/lib/Target/</b></tt></dt>
+  <dd> This directory contains files that describe various target architectures
+  for code generation.  For example, the <tt>llvm/lib/Target/SparcV9</tt> 
+  directory holds the Sparc machine description while
+  <tt>llvm/lib/Target/CBackend</tt> implements the LLVM-to-C converter</dd>
     
-  <dt><tt>llvm/lib/CodeGen/</tt><dd> This directory contains the major parts
-  of the code generator: Instruction Selector, Instruction Scheduling, and
-  Register Allocation.
+  <dt><tt><b>llvm/lib/CodeGen/</b></tt></dt>
+  <dd> This directory contains the major parts of the code generator: Instruction 
+  Selector, Instruction Scheduling, and Register Allocation.</dd>
 
-  <dt><tt>llvm/lib/Support/</tt><dd> This directory contains the source code
-  that corresponds to the header files located in
-  <tt>llvm/include/Support/</tt>.
+  <dt><tt><b>llvm/lib/Debugger/</b></tt></dt>
+  <dd> This directory contains the source level debugger library that makes 
+  it possible to instrument LLVM programs so that a debugger could identify 
+  source code locations at which the program is executing.</dd>
+
+  <dt><tt><b>llvm/lib/ExecutionEngine/</b></tt></dt>
+  <dd> This directory contains libraries for executing LLVM bytecode directly 
+  at runtime in both interpreted and JIT compiled fashions.</dd>
+
+  <dt><tt><b>llvm/lib/Support/</b></tt></dt>
+  <dd> This directory contains the source code that corresponds to the header 
+  files located in <tt>llvm/include/Support/</tt>.</dd>
+
+  <dt><tt><b>llvm/lib/System/</b></tt></dt>
+  <dd>This directory contains the operating system abstraction layer that
+  shields LLVM from platform-specific coding.</dd>
 </dl>
 
 </div>
 
 <!-- ======================================================================= -->
-<div class="doc_subsection">
-  <a name="runtime"><tt>llvm/runtime</tt></a>
-</div>
-
+<div class="doc_subsection"><a name="runtime"><tt>llvm/runtime</tt></a></div>
 <div class="doc_text">
 
 <p>This directory contains libraries which are compiled into LLVM bytecode and
@@ -999,22 +1006,27 @@
 </div>
 
 <!-- ======================================================================= -->
-<div class="doc_subsection">
-  <a name="test"><tt>llvm/test</tt></a>
-</div>
-
+<div class="doc_subsection"><a name="test"><tt>llvm/test</tt></a></div>
 <div class="doc_text">
-
-<p>This directory contains regression tests and source code that is used to test
-the LLVM infrastructure.</p>
-
+  <p>This directory contains feature and regression tests and other basic sanity
+  checks on the LLVM infrastructure. These are intended to run quickly and cover
+  a lot of territory without being exhaustive.</p>
 </div>
 
 <!-- ======================================================================= -->
-<div class="doc_subsection">
-  <a name="tools"><tt>llvm/tools</tt></a>
+<div class="doc_subsection"><a name="llvmtest"><tt>llvm-test</tt></a></div>
+<div class="doc_text">
+  <p>This is not a directory in the normal llvm module, it is a separate CVS
+  module that must be checked out (usually to <tt>test/projects</tt>).  This
+  module contains a comprehensive correctness, performance and benchmarking test
+  suite for LLVM. It is a separate CVS module because not every LLVM user is
+  interested in downloading or building such a comprehensive test. For further
+  details on this test suite, please see the 
+  <a href="TestingGuide.html">Testing Guide</a> document.</p>
 </div>
 
+<!-- ======================================================================= -->
+<div class="doc_subsection"><a name="tools"><tt>llvm/tools</tt></a></div>
 <div class="doc_text">
 
 <p>The <b>tools</b> directory contains the executables built out of the
@@ -1023,88 +1035,104 @@
 following is a brief introduction to the most important tools:</p>
 
 <dl>
-  <dt><tt><b>analyze</b></tt> <dd><tt>analyze</tt> is used to run a specific
+  <dt><tt><b>analyze</b></tt></dt>
+  <dd><tt>analyze</tt> is used to run a specific
   analysis on an input LLVM bytecode file and print out the results.  It is
   primarily useful for debugging analyses, or familiarizing yourself with
-  what an analysis does.<p>
+  what an analysis does.</dd>
 
-  <dt><tt><b>bugpoint</b></tt> <dd><tt>bugpoint</tt> is used to debug
+  <dt><tt><b>bugpoint</b></tt></dt>
+  <dd><tt>bugpoint</tt> is used to debug
   optimization passes or code generation backends by narrowing down the
   given test case to the minimum number of passes and/or instructions that
   still cause a problem, whether it is a crash or miscompilation. See <a
   href="HowToSubmitABug.html">HowToSubmitABug.html</a> for more information
-  on using <tt>bugpoint</tt>.<p>
+  on using <tt>bugpoint</tt>.</dd>
 
-  <dt><tt><b>llvm-ar</b></tt> <dd>The archiver produces an archive containing
+  <dt><tt><b>llvmc</b></tt></dt>
+  <dd>The LLVM Compiler Driver. This program can
+  be configured to utilize both LLVM and non-LLVM compilation tools to enable
+  pre-processing, translation, optimization, assembly, and linking of programs
+  all from one command line. <tt>llvmc</tt> also takes care of processing the
+  dependent libraries found in bytecode. This reduces the need to get the
+  traditional <tt>-l&lt;name&gt;</tt> options right on the command line.</dd>
+
+  <dt><tt><b>llvm-ar</b></tt></dt>
+  <dd>The archiver produces an archive containing
   the given LLVM bytecode files, optionally with an index for faster
-  lookup.<p>
+  lookup.</dd>
   
-  <dt><tt><b>llvm-as</b></tt> <dd>The assembler transforms the human readable
-  LLVM assembly to LLVM bytecode.<p>
+  <dt><tt><b>llvm-as</b></tt></dt>
+  <dd>The assembler transforms the human readable LLVM assembly to LLVM 
+  bytecode.</dd>
 
-  <dt><tt><b>llvm-dis</b></tt><dd>The disassembler transforms the LLVM
-  bytecode to human readable LLVM assembly.<p>
+  <dt><tt><b>llvm-dis</b></tt></dt>
+  <dd>The disassembler transforms the LLVM bytecode to human readable 
+  LLVM assembly.</dd>
 
-  <dt><tt><b>llvm-link</b></tt><dd> <tt>llvm-link</tt>, not surprisingly,
-  links multiple LLVM modules into a single program.<p>
+  <dt><tt><b>llvm-link</b></tt></dt>
+  <dd><tt>llvm-link</tt>, not surprisingly, links multiple LLVM modules into 
+  a single program.</dd>
   
-  <dt><tt><b>lli</b></tt><dd> <tt>lli</tt> is the LLVM interpreter, which
+  <dt><tt><b>lli</b></tt></dt>
+  <dd><tt>lli</tt> is the LLVM interpreter, which
   can directly execute LLVM bytecode (although very slowly...). In addition
   to a simple interpreter, <tt>lli</tt> also has a tracing mode (entered by
   specifying <tt>-trace</tt> on the command line). Finally, for
   architectures that support it (currently only x86 and Sparc), by default,
   <tt>lli</tt> will function as a Just-In-Time compiler (if the
   functionality was compiled in), and will execute the code <i>much</i>
-  faster than the interpreter.<p>
+  faster than the interpreter.</dd>
 
-  <dt><tt><b>llc</b></tt><dd> <tt>llc</tt> is the LLVM backend compiler, which
+  <dt><tt><b>llc</b></tt></dt>
+  <dd> <tt>llc</tt> is the LLVM backend compiler, which
   translates LLVM bytecode to a SPARC or x86 assembly file, or to C code (with
-  the -march=c option).<p>
+  the -march=c option).</dd>
 
-  <dt><tt><b>llvmgcc</b></tt><dd> <tt>llvmgcc</tt> is a GCC-based C frontend
+  <dt><tt><b>llvmgcc</b></tt></dt>
+  <dd><tt>llvmgcc</tt> is a GCC-based C frontend
   that has been retargeted to emit LLVM code as the machine code output.  It
   works just like any other GCC compiler, taking the typical <tt>-c, -S, -E,
   -o</tt> options that are typically used.  The source code for the
   <tt>llvmgcc</tt> tool is currently not included in the LLVM CVS tree
-  because it is quite large and not very interesting.<p>
-
+  because it is quite large and not very interesting.
   <blockquote>
     <dl>
-    <dt><tt><b>gccas</b></tt> <dd>This tool is invoked by the
-    <tt>llvmgcc</tt> frontend as the "assembler" part of the compiler.  This
-    tool actually assembles LLVM assembly to LLVM bytecode,
-    performs a variety of optimizations, and outputs LLVM bytecode.  Thus
-    when you invoke <tt>llvmgcc -c x.c -o x.o</tt>, you are causing
-    <tt>gccas</tt> to be run, which writes the <tt>x.o</tt> file (which is
-    an LLVM bytecode file that can be disassembled or manipulated just like
-    any other bytecode file).  The command line interface to <tt>gccas</tt>
-    is designed to be as close as possible to the <b>system</b>
-    `<tt>as</tt>' utility so that the gcc frontend itself did not have to be
-    modified to interface to a "weird" assembler.<p>
+      <dt><tt><b>gccas</b></tt></dt>
+      <dd>This tool is invoked by the <tt>llvmgcc</tt> frontend as the 
+      "assembler" part of the compiler.  This tool actually assembles LLVM 
+      assembly to LLVM bytecode, performs a variety of optimizations, and 
+      outputs LLVM bytecode.  Thus when you invoke 
+      <tt>llvmgcc -c x.c -o x.o</tt>, you are causing <tt>gccas</tt> to be 
+      run, which writes the <tt>x.o</tt> file (which is an LLVM bytecode file 
+      that can be disassembled or manipulated just like any other bytecode 
+      file).  The command line interface to <tt>gccas</tt> is designed to be 
+      as close as possible to the <b>system</b> `<tt>as</tt>' utility so that 
+      the gcc frontend itself did not have to be modified to interface to 
+      a "weird" assembler.</dd>
 
-    <dt><tt><b>gccld</b></tt> <dd><tt>gccld</tt> links together several LLVM
-    bytecode files into one bytecode file and does some optimization.  It is
-    the linker invoked by the GCC frontend when multiple .o files need to be
-    linked together.  Like <tt>gccas</tt>, the command line interface of
-    <tt>gccld</tt> is designed to match the system linker, to aid
-    interfacing with the GCC frontend.</dl><p>
+      <dt><tt><b>gccld</b></tt></dt>
+      <dd><tt>gccld</tt> links together several LLVM bytecode files into one 
+      bytecode file and does some optimization.  It is the linker invoked by 
+      the GCC frontend when multiple .o files need to be linked together.  
+      Like <tt>gccas</tt>, the command line interface of <tt>gccld</tt> is 
+      designed to match the system linker, to aid interfacing with the GCC 
+      frontend.</dd>
+    </dl>
   </blockquote>
+  </dd>
 
-  <dt><tt><b>opt</b></tt><dd> <tt>opt</tt> reads LLVM bytecode, applies a
+  <dt><tt><b>opt</b></tt></dt>
+  <dd><tt>opt</tt> reads LLVM bytecode, applies a
   series of LLVM to LLVM transformations (which are specified on the command
   line), and then outputs the resultant bytecode.  The '<tt>opt --help</tt>'
   command is a good way to get a list of the program transformations
-  available in LLVM.
-
+  available in LLVM.</dd>
 </dl>
-
 </div>
 
 <!-- ======================================================================= -->
-<div class="doc_subsection">
-  <a name="utils"><tt>llvm/utils</tt></a>
-</div>
-
+<div class="doc_subsection"><a name="utils"><tt>llvm/utils</tt></a></div>
 <div class="doc_text">
 
 <p>This directory contains utilities for working with LLVM source code, and some
@@ -1144,6 +1172,12 @@
   <tt>xemacs `utils/getsources.sh`</tt> from the top of your LLVM source
   tree.<p>
   
+  <dt><tt><b>llvmgrep</b></tt></dt>
+  <dd>This little tool performs an "egrep -H -n" on each source file in LLVM and
+  passes to it a regular expression provided on <tt>llvmgrep</tt>'s command
+  line. This is a very efficient way of searching the source base for a
+  particular regular expression.</dd>
+
   <dt><tt><b>makellvm</b></tt> <dd>The <tt>makellvm</tt> script compiles all
   files in the current directory and then compiles and links the tool that
   is the first argument. For example, assuming you are in the directory
@@ -1284,9 +1318,9 @@
   src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!" /></a>
 
   <a href="mailto:sabre@nondot.org">Chris Lattner</a><br>
+  <a href="http://llvm.x10sys.com/rspencer/">Reid Spencer</a><br>
   <a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a><br>
   Last modified: $Date$
 </address>
-
 </body>
 </html>
