Now with HTML 4.01 comliance flavor.

llvm-svn: 10919
This commit is contained in:
Misha Brukman 2004-01-20 00:20:17 +00:00
parent 5a66bb7507
commit d3de5c6182
1 changed files with 46 additions and 48 deletions

View File

@ -191,8 +191,6 @@ software you will need.</p>
</ul>
</li>
<p></p>
<li>Solaris on SparcV9 (Ultrasparc)
<ul>
<li>Approximately 1.52 GB of Free Disk Space
@ -204,8 +202,6 @@ software you will need.</p>
</ul>
</li>
<p></p>
<li>FreeBSD on x86 (Pentium and above)
<ul>
<li>Approximately 918 MB of Free Disk Space
@ -217,8 +213,6 @@ software you will need.</p>
</ul>
</li>
<p></p>
<li>MacOS X on PowerPC
<ul>
<li>No native code generation
@ -317,7 +311,7 @@ of this document below</i>. In any of the examples below, simply replace
each of these names with the appropriate pathname on your local system.
All these paths are absolute:</p>
<dl compact>
<dl>
<dt>SRC_ROOT
<dd>
This is the top level directory of the LLVM source tree.
@ -353,7 +347,7 @@ variables. There are also some shell aliases which you may find useful.
You can set these on the command line, or better yet, set them in your
<tt>.cshrc</tt> or <tt>.profile</tt>.
<dl compact>
<dl>
<dt><tt>LLVM_LIB_SEARCH_PATH</tt>=<tt><i>LLVMGCCDIR</i>/bytecode-libs</tt>
<dd>
This environment variable helps the LLVM GCC front end find bytecode
@ -371,7 +365,7 @@ You can set these on the command line, or better yet, set them in your
<!-- ======================================================================= -->
<div class="doc_subsection">
<a name="unpack">Unpacking the LLVM Archives</a></h3>
<a name="unpack">Unpacking the LLVM Archives</a>
</div>
<div class="doc_text">
@ -384,7 +378,7 @@ file is a TAR archive that is compressed with the gzip program.
</p>
<p> The files are as follows:
<dl compact>
<dl>
<dt>llvm-1.1.tar.gz
<dd>This is the source code to the LLVM suite.
<p>
@ -409,7 +403,7 @@ file is a TAR archive that is compressed with the gzip program.
<!-- ======================================================================= -->
<div class="doc_subsection">
<a name="checkout">Checkout LLVM from CVS</a></h3>
<a name="checkout">Checkout LLVM from CVS</a>
</div>
<div class="doc_text">
@ -430,9 +424,10 @@ follows:</p>
directory and fully populate it with the LLVM source code, Makefiles,
test directories, and local copies of documentation files.</p>
<p>
If you want to get a specific release (as opposed to the most recent revision),
you can specify a label. The following releases have the following label:
<p>If you want to get a specific release (as opposed to the most recent
revision), you can specify a label. The following releases have the following
label:</p>
<ul>
<li>
Release 1.1: <b>RELEASE_11</b>
@ -442,7 +437,6 @@ you can specify a label. The following releases have the following label:
Release 1.0: <b>RELEASE_1</b>
</li>
</ul>
</p>
<p>Note that the GCC front end is not included in the CVS repository. You
should have downloaded the binary distribution for your platform.</p>
@ -451,7 +445,7 @@ should have downloaded the binary distribution for your platform.</p>
<!-- ======================================================================= -->
<div class="doc_subsection">
<a name="installcf">Install the GCC Front End</a></h3>
<a name="installcf">Install the GCC Front End</a>
</div>
<div class="doc_text">
@ -527,7 +521,7 @@ script to configure the build system:</p>
<p>The following options can be used to set or enable LLVM specific options:</p>
<dl compact>
<dl>
<dt><i>--with-llvmgccdir=LLVMGCCDIR</i>
<dd>
Path to the location where the LLVM C front end binaries and
@ -594,7 +588,7 @@ version of the GCC front end on our research machines.</p>
<p>Once you have configured LLVM, you can build it. There are three types of
builds:</p>
<dl compact>
<dl>
<dt>Debug Builds
<dd>
These builds are the default when one types <tt>gmake</tt> (unless the
@ -634,7 +628,7 @@ command:</p>
<p>There are several special targets which are useful when working with the LLVM
source code:</p>
<dl compact>
<dl>
<dt><tt>gmake clean</tt>
<dd>
Removes all files generated by the build. This includes object files,
@ -661,7 +655,7 @@ source code:</p>
<p>It is also possible to override default values from <tt>configure</tt> by
declaring variables on the command line. The following are some examples:</p>
<dl compact>
<dl>
<dt><tt>gmake ENABLE_OPTIMIZED=1</tt>
<dd>
Perform a Release (Optimized) build.
@ -712,10 +706,10 @@ platforms or configurations using the same source tree.</p>
<p>The LLVM build will place files underneath <i>OBJ_ROOT</i> in directories
named after the build type:</p>
<dl compact>
<dl>
<dt>Debug Builds
<dd>
<dl compact>
<dl>
<dt>Tools
<dd><tt><i>OBJ_ROOT</i>/tools/Debug</tt>
<dt>Libraries
@ -725,7 +719,7 @@ named after the build type:</p>
<dt>Release Builds
<dd>
<dl compact>
<dl>
<dt>Tools
<dd><tt><i>OBJ_ROOT</i>/tools/Release</tt>
<dt>Libraries
@ -735,7 +729,7 @@ named after the build type:</p>
<dt>Profile Builds
<dd>
<dl compact>
<dl>
<dt>Tools
<dd><tt><i>OBJ_ROOT</i>/tools/Profile</tt>
<dt>Libraries
@ -813,7 +807,7 @@ library. The three main subdirectories of this directory are:</p>
almost all code exists in libraries, making it very easy to share code among the
different <a href="#tools">tools</a>.</p>
<dl compact>
<dl>
<dt><tt>llvm/lib/VMCore/</tt><dd> This directory holds the core LLVM
source files that implement core classes like Instruction and BasicBlock.
@ -893,26 +887,24 @@ libraries above, which form the main part of the user interface. You can
always get help for a tool by typing <tt>tool_name --help</tt>. The
following is a brief introduction to the most important tools.</p>
<dl compact>
<dt>
<dt><tt><b>analyze</b></tt><dd> <tt>analyze</tt> is used to run a specific
<dl>
<dt><tt><b>analyze</b></tt> <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>
<dt><tt><b>bugpoint</b></tt><dd> <tt>bugpoint</tt> is used to debug
<dt><tt><b>bugpoint</b></tt> <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>
<dt><tt><b>llvm-ar</b></tt><dd>The archiver produces an archive containing
<dt><tt><b>llvm-ar</b></tt> <dd>The archiver produces an archive containing
the given LLVM bytecode files, optionally with an index for faster
lookup.<p>
<dt><tt><b>llvm-as</b></tt><dd>The assembler transforms the human readable
<dt><tt><b>llvm-as</b></tt> <dd>The assembler transforms the human readable
LLVM assembly to LLVM bytecode.<p>
<dt><tt><b>llvm-dis</b></tt><dd>The disassembler transforms the LLVM
@ -941,8 +933,9 @@ following is a brief introduction to the most important tools.</p>
<tt>llvmgcc</tt> tool is currently not included in the LLVM CVS tree
because it is quite large and not very interesting.<p>
<ol>
<dt><tt><b>gccas</b></tt><dd> This tool is invoked by the
<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
@ -954,19 +947,19 @@ following is a brief introduction to the most important tools.</p>
`<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>gccld</b></tt><dd> <tt>gccld</tt> links together several LLVM
<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.<p>
</ol>
interfacing with the GCC frontend.</dl><p>
</blockquote>
<dt><tt><b>opt</b></tt><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.<p>
available in LLVM.
</dl>
@ -983,19 +976,19 @@ following is a brief introduction to the most important tools.</p>
of the utilities are actually required as part of the build process because they
are code generators for parts of LLVM infrastructure.</p>
<dl compact>
<td><tt><b>Burg/</b></tt><dd> <tt>Burg</tt> is an instruction selector
<dl>
<dt><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
<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
<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 -z3 up -dP'</tt> will. For example, it will group
together all the new and updated files and modified files in separate
@ -1003,20 +996,20 @@ are code generators for parts of LLVM infrastructure.</p>
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
<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. For information on how to use the syntax files, consult
the <tt>README</tt> file in that directory.<p>
<dt><tt><b>getsrcs.sh</b></tt><dd> The <tt>getsrcs.sh</tt> script finds
<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
<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,
@ -1025,17 +1018,17 @@ are code generators for parts of LLVM infrastructure.</p>
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
<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
<dt><tt><b>TableGen/</b></tt> <dd>The <tt>TableGen</tt> directory contains
the tool used to generate register descriptions, instruction set
descriptions, and even assemblers from common TableGen description
files.<p>
<dt><tt><b>vim/</b></tt><dd> The <tt>vim</tt> directory contains
<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. For information on how to use the syntax files, consult
@ -1144,6 +1137,11 @@ out:</p>
<hr>
<address>
<a href="http://jigsaw.w3.org/css-validator/check/referer"><img
src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!"></a>
<a href="http://validator.w3.org/check/referer"><img
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.cs.uiuc.edu">The LLVM Compiler Infrastructure</a><br>
Last modified: $Date$