diff options
author | Misha Brukman <brukman+llvm@gmail.com> | 2003-08-11 18:45:46 +0000 |
---|---|---|
committer | Misha Brukman <brukman+llvm@gmail.com> | 2003-08-11 18:45:46 +0000 |
commit | c103adf37de7407f3eebcfeb4b4e0237b1b75da9 (patch) | |
tree | 56422c95ce5239b086667b8468735b17d3631a9f | |
parent | 4ecff5df8cf8b15f0caf6455a68967afeb21dd9f (diff) | |
download | external_llvm-c103adf37de7407f3eebcfeb4b4e0237b1b75da9.zip external_llvm-c103adf37de7407f3eebcfeb4b4e0237b1b75da9.tar.gz external_llvm-c103adf37de7407f3eebcfeb4b4e0237b1b75da9.tar.bz2 |
* Added a section describing the hidden gems in llvm/utils
* Converted some tabs to spaces
* Made lines fit within 80 columns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7735 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | docs/GettingStarted.html | 93 |
1 files changed, 82 insertions, 11 deletions
diff --git a/docs/GettingStarted.html b/docs/GettingStarted.html index a34437a..bc6d747 100644 --- a/docs/GettingStarted.html +++ b/docs/GettingStarted.html @@ -8,7 +8,8 @@ <center><h1>Getting Started with the LLVM System<br><font size=3>By: <a href="mailto:gshi1@uiuc.edu">Guochun Shi</a>, <a href="mailto:sabre@nondot.org">Chris Lattner</a>, - <a href="mailto:criswell@uiuc.edu">John Criswell</a>, and + <a href="mailto:criswell@uiuc.edu">John Criswell</a>, + <a href="http://misha.brukman.net">Misha Brukman</a>, and <a href="http://www.cs.uiuc.edu/~vadve">Vikram Adve</a> </font></h1></center> @@ -38,13 +39,14 @@ <li><a href="#objfiles">The Location of LLVM Object Files</tt></a> </ol> <li><a href="#layout">Program layout</a> - <ol> - <li><a href="#cvsdir"><tt>CVS</tt> directories</a> - <li><a href="#include"><tt>llvm/include</tt></a> - <li><a href="#lib"><tt>llvm/lib</tt></a> - <li><a href="#test"><tt>llvm/test</tt></a> - <li><a href="#tools"><tt>llvm/tools</tt></a> - </ol> + <ol> + <li><a href="#cvsdir"><tt>CVS</tt> directories</a> + <li><a href="#include"><tt>llvm/include</tt></a> + <li><a href="#lib"><tt>llvm/lib</tt></a> + <li><a href="#test"><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><a href="#cfront">Compiling the LLVM C Front End</a> <li><a href="#tutorial">An Example Using the LLVM Tool Chain</a> <li><a href="#problems">Common Problems</a> @@ -247,7 +249,8 @@ <ol> <li><tt>cd <i>where-you-want-llvm-to-live</i></tt> <li><tt>gunzip --stdout llvm.tar.gz | tar -xvf -</tt> - <li><tt>gunzip --stdout cfrontend.<i>platform</i>.tar.gz | tar -xvf -</tt> + <li><tt>gunzip --stdout cfrontend.<i>platform</i>.tar.gz | tar + -xvf -</tt> <li><tt>cd llvm</tt> </ol> @@ -255,7 +258,8 @@ <li>With anonymous CVS access: <ol> - <li>Find the path to the CVS repository containing LLVM (we'll call this <i>CVSROOTDIR</i>). + <li>Find the path to the CVS repository containing LLVM (we'll + call this <i>CVSROOTDIR</i>). <li><tt>cd <i>where-you-want-llvm-to-live</i></tt> <li><tt>cvs -d <i>CVSROOTDIR</i> checkout llvm</tt> <li><tt>cd llvm</tt> @@ -273,7 +277,8 @@ <ul> <li><tt>--with-objroot=<i>directory</i></tt> <br> - Specify where object files should be placed during the build. + Specify where object files should be placed during the + build. <li><tt>--with-llvmgccdir=<i>directory</i></tt> <br> @@ -872,6 +877,72 @@ </dl> + <!-------------------------------------------------------------------------> + <h3><a name="utils"><tt>llvm/utils</tt></a></h3> + <!-------------------------------------------------------------------------> + + This directory contains utilities for working with LLVM sourcecode, and some + of the utilities are actually required as part of the build process because + they are code generators for parts of LLVM infrastructure. + + <dl compact> + <td><tt><b>Burg</b></tt><dd> <tt>Burg</tt> is an instruction selector + generator -- it builds trees on which it then performs pattern-matching to + select instructions according to the patterns the user has specified. Burg + is currently used in the Sparc V9 backend.<p> + + <dt><tt><b>codegen-diff</b></tt><dd> <tt>codegen-diff</tt> is a script + that finds differences between code that LLC generates and code that LLI + generates. This is a useful tool if you are debugging one of them, + assuming that the other generates correct output. For the full user + manual, run <tt>`perldoc codegen-diff'</tt>.<p> + + <dt><tt><b>cvsupdate</b></tt><dd> <tt>cvsupdate</tt> is a script that will + update your CVS tree, but produce a much cleaner and more organized output + than simply running <tt>`cvs up -dP'</tt> will. For example, it will group + together all the new and updated files and modified files in separate + sections, so you can see at a glance what has changed. If you are at the + top of your LLVM CVS tree, running <tt>utils/cvsupdate</tt> is the + preferred way of updating the tree.<p> + + <dt><tt><b>emacs</b></tt><dd> The <tt>emacs</tt> directory contains + syntax-highlighting files which will work with Emacs and XEmacs editors, + providing syntax highlighting support for LLVM assembly files and TableGen + description files.<p> + + <dt><tt><b>getsrcs.sh</b></tt><dd> The <tt>getsrcs.sh</tt> script finds + and outputs all non-generated source files, which is useful if one wishes + to do a lot of development across directories and does not want to + individually find each file. One way to use it is to run, for example: + <tt>xemacs `utils/getsources.sh`</tt> from the top of your LLVM source + tree.<p> + + <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 + <tt>llvm/lib/Target/Sparc</tt>, if <tt>makellvm</tt> is in your path, + simply running <tt>makellvm llc</tt> will make a build of the current + directory, switch to directory <tt>llvm/tools/llc</tt> and build it, + causing a re-linking of LLC.<p> + + <dt><tt><b>NightlyTest.pl</b></tt> and + <tt><b>NightlyTestTemplate.html</b></tt><dd> These files are used in a + cron script to generate nightly status reports of the functionality of + tools, and the results can be seen by following the appropriate link on + the <a href="http://llvm.cs.uiuc.edu/">LLVM homepage</a>.<p> + + <dt><tt><b>TableGen</b></tt><dd> The <tt>TableGen</tt> directory contains + the tool used to generate register descriptions, instruction set + descriptins, and even assemblers from common TableGen description + files.<p> + + <dt><tt><b>vim</b></tt><dd> The <tt>vim</tt> directory contains + syntax-highlighting files which will work with the VIM editor, providing + syntax highlighting support for LLVM assembly files and TableGen + description files.<p> + + </dl> + <!--=====================================================================--> <h2><center><a name="cfront">Compiling the LLVM C Front End</center></h2> <!--=====================================================================--> |