Now with HTML 4.01 comliance flavor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10919 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Misha Brukman 2004-01-20 00:20:17 +00:00
parent 241024381f
commit 54111c49bf

View File

@ -191,8 +191,6 @@ software you will need.</p>
</ul> </ul>
</li> </li>
<p></p>
<li>Solaris on SparcV9 (Ultrasparc) <li>Solaris on SparcV9 (Ultrasparc)
<ul> <ul>
<li>Approximately 1.52 GB of Free Disk Space <li>Approximately 1.52 GB of Free Disk Space
@ -204,8 +202,6 @@ software you will need.</p>
</ul> </ul>
</li> </li>
<p></p>
<li>FreeBSD on x86 (Pentium and above) <li>FreeBSD on x86 (Pentium and above)
<ul> <ul>
<li>Approximately 918 MB of Free Disk Space <li>Approximately 918 MB of Free Disk Space
@ -217,8 +213,6 @@ software you will need.</p>
</ul> </ul>
</li> </li>
<p></p>
<li>MacOS X on PowerPC <li>MacOS X on PowerPC
<ul> <ul>
<li>No native code generation <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. each of these names with the appropriate pathname on your local system.
All these paths are absolute:</p> All these paths are absolute:</p>
<dl compact> <dl>
<dt>SRC_ROOT <dt>SRC_ROOT
<dd> <dd>
This is the top level directory of the LLVM source tree. 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 You can set these on the command line, or better yet, set them in your
<tt>.cshrc</tt> or <tt>.profile</tt>. <tt>.cshrc</tt> or <tt>.profile</tt>.
<dl compact> <dl>
<dt><tt>LLVM_LIB_SEARCH_PATH</tt>=<tt><i>LLVMGCCDIR</i>/bytecode-libs</tt> <dt><tt>LLVM_LIB_SEARCH_PATH</tt>=<tt><i>LLVMGCCDIR</i>/bytecode-libs</tt>
<dd> <dd>
This environment variable helps the LLVM GCC front end find bytecode 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"> <div class="doc_subsection">
<a name="unpack">Unpacking the LLVM Archives</a></h3> <a name="unpack">Unpacking the LLVM Archives</a>
</div> </div>
<div class="doc_text"> <div class="doc_text">
@ -384,7 +378,7 @@ file is a TAR archive that is compressed with the gzip program.
</p> </p>
<p> The files are as follows: <p> The files are as follows:
<dl compact> <dl>
<dt>llvm-1.1.tar.gz <dt>llvm-1.1.tar.gz
<dd>This is the source code to the LLVM suite. <dd>This is the source code to the LLVM suite.
<p> <p>
@ -409,7 +403,7 @@ file is a TAR archive that is compressed with the gzip program.
<!-- ======================================================================= --> <!-- ======================================================================= -->
<div class="doc_subsection"> <div class="doc_subsection">
<a name="checkout">Checkout LLVM from CVS</a></h3> <a name="checkout">Checkout LLVM from CVS</a>
</div> </div>
<div class="doc_text"> <div class="doc_text">
@ -430,9 +424,10 @@ follows:</p>
directory and fully populate it with the LLVM source code, Makefiles, directory and fully populate it with the LLVM source code, Makefiles,
test directories, and local copies of documentation files.</p> test directories, and local copies of documentation files.</p>
<p> <p>If you want to get a specific release (as opposed to the most recent
If you want to get a specific release (as opposed to the most recent revision), revision), you can specify a label. The following releases have the following
you can specify a label. The following releases have the following label: label:</p>
<ul> <ul>
<li> <li>
Release 1.1: <b>RELEASE_11</b> 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> Release 1.0: <b>RELEASE_1</b>
</li> </li>
</ul> </ul>
</p>
<p>Note that the GCC front end is not included in the CVS repository. You <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> 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"> <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>
<div class="doc_text"> <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> <p>The following options can be used to set or enable LLVM specific options:</p>
<dl compact> <dl>
<dt><i>--with-llvmgccdir=LLVMGCCDIR</i> <dt><i>--with-llvmgccdir=LLVMGCCDIR</i>
<dd> <dd>
Path to the location where the LLVM C front end binaries and 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 <p>Once you have configured LLVM, you can build it. There are three types of
builds:</p> builds:</p>
<dl compact> <dl>
<dt>Debug Builds <dt>Debug Builds
<dd> <dd>
These builds are the default when one types <tt>gmake</tt> (unless the 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 <p>There are several special targets which are useful when working with the LLVM
source code:</p> source code:</p>
<dl compact> <dl>
<dt><tt>gmake clean</tt> <dt><tt>gmake clean</tt>
<dd> <dd>
Removes all files generated by the build. This includes object files, 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 <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> declaring variables on the command line. The following are some examples:</p>
<dl compact> <dl>
<dt><tt>gmake ENABLE_OPTIMIZED=1</tt> <dt><tt>gmake ENABLE_OPTIMIZED=1</tt>
<dd> <dd>
Perform a Release (Optimized) build. 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 <p>The LLVM build will place files underneath <i>OBJ_ROOT</i> in directories
named after the build type:</p> named after the build type:</p>
<dl compact> <dl>
<dt>Debug Builds <dt>Debug Builds
<dd> <dd>
<dl compact> <dl>
<dt>Tools <dt>Tools
<dd><tt><i>OBJ_ROOT</i>/tools/Debug</tt> <dd><tt><i>OBJ_ROOT</i>/tools/Debug</tt>
<dt>Libraries <dt>Libraries
@ -725,7 +719,7 @@ named after the build type:</p>
<dt>Release Builds <dt>Release Builds
<dd> <dd>
<dl compact> <dl>
<dt>Tools <dt>Tools
<dd><tt><i>OBJ_ROOT</i>/tools/Release</tt> <dd><tt><i>OBJ_ROOT</i>/tools/Release</tt>
<dt>Libraries <dt>Libraries
@ -735,7 +729,7 @@ named after the build type:</p>
<dt>Profile Builds <dt>Profile Builds
<dd> <dd>
<dl compact> <dl>
<dt>Tools <dt>Tools
<dd><tt><i>OBJ_ROOT</i>/tools/Profile</tt> <dd><tt><i>OBJ_ROOT</i>/tools/Profile</tt>
<dt>Libraries <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 almost all code exists in libraries, making it very easy to share code among the
different <a href="#tools">tools</a>.</p> different <a href="#tools">tools</a>.</p>
<dl compact> <dl>
<dt><tt>llvm/lib/VMCore/</tt><dd> This directory holds the core LLVM <dt><tt>llvm/lib/VMCore/</tt><dd> This directory holds the core LLVM
source files that implement core classes like Instruction and BasicBlock. 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 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> following is a brief introduction to the most important tools.</p>
<dl compact> <dl>
<dt> <dt><tt><b>analyze</b></tt> <dd><tt>analyze</tt> is used to run a specific
<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 analysis on an input LLVM bytecode file and print out the results. It is
primarily useful for debugging analyses, or familiarizing yourself with primarily useful for debugging analyses, or familiarizing yourself with
what an analysis does.<p> 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 optimization passes or code generation backends by narrowing down the
given test case to the minimum number of passes and/or instructions that 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 still cause a problem, whether it is a crash or miscompilation. See <a
href="HowToSubmitABug.html">HowToSubmitABug.html</a> for more information href="HowToSubmitABug.html">HowToSubmitABug.html</a> for more information
on using <tt>bugpoint</tt>.<p> 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 the given LLVM bytecode files, optionally with an index for faster
lookup.<p> 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> LLVM assembly to LLVM bytecode.<p>
<dt><tt><b>llvm-dis</b></tt><dd>The disassembler transforms the LLVM <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 <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.<p>
<ol> <blockquote>
<dt><tt><b>gccas</b></tt><dd> This tool is invoked by the <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 <tt>llvmgcc</tt> frontend as the "assembler" part of the compiler. This
tool actually assembles LLVM assembly to LLVM bytecode, tool actually assembles LLVM assembly to LLVM bytecode,
performs a variety of optimizations, and outputs LLVM bytecode. Thus 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 `<tt>as</tt>' utility so that the gcc frontend itself did not have to be
modified to interface to a "weird" assembler.<p> 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 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 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 linked together. Like <tt>gccas</tt>, the command line interface of
<tt>gccld</tt> is designed to match the system linker, to aid <tt>gccld</tt> is designed to match the system linker, to aid
interfacing with the GCC frontend.<p> interfacing with the GCC frontend.</dl><p>
</ol> </blockquote>
<dt><tt><b>opt</b></tt><dd> <tt>opt</tt> reads LLVM bytecode, applies a <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 series of LLVM to LLVM transformations (which are specified on the command
line), and then outputs the resultant bytecode. The '<tt>opt --help</tt>' 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 command is a good way to get a list of the program transformations
available in LLVM.<p> available in LLVM.
</dl> </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 of the utilities are actually required as part of the build process because they
are code generators for parts of LLVM infrastructure.</p> are code generators for parts of LLVM infrastructure.</p>
<dl compact> <dl>
<td><tt><b>Burg/</b></tt><dd> <tt>Burg</tt> is an instruction selector <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 generator -- it builds trees on which it then performs pattern-matching to
select instructions according to the patterns the user has specified. Burg select instructions according to the patterns the user has specified. Burg
is currently used in the Sparc V9 backend.<p> 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 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, generates. This is a useful tool if you are debugging one of them,
assuming that the other generates correct output. For the full user assuming that the other generates correct output. For the full user
manual, run <tt>`perldoc codegen-diff'</tt>.<p> 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 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 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 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 top of your LLVM CVS tree, running <tt>utils/cvsupdate</tt> is the
preferred way of updating the tree.<p> 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, syntax-highlighting files which will work with Emacs and XEmacs editors,
providing syntax highlighting support for LLVM assembly files and TableGen providing syntax highlighting support for LLVM assembly files and TableGen
description files. For information on how to use the syntax files, consult description files. For information on how to use the syntax files, consult
the <tt>README</tt> file in that directory.<p> 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 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 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: 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 <tt>xemacs `utils/getsources.sh`</tt> from the top of your LLVM source
tree.<p> 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 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 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, <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> causing a re-linking of LLC.<p>
<dt><tt><b>NightlyTest.pl</b></tt> and <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 cron script to generate nightly status reports of the functionality of
tools, and the results can be seen by following the appropriate link on 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> 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 the tool used to generate register descriptions, instruction set
descriptions, and even assemblers from common TableGen description descriptions, and even assemblers from common TableGen description
files.<p> 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 files which will work with the VIM editor, providing
syntax highlighting support for LLVM assembly files and TableGen syntax highlighting support for LLVM assembly files and TableGen
description files. For information on how to use the syntax files, consult description files. For information on how to use the syntax files, consult
@ -1144,6 +1137,11 @@ out:</p>
<hr> <hr>
<address> <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="mailto:sabre@nondot.org">Chris Lattner</a><br>
<a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a><br> <a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a><br>
Last modified: $Date$ Last modified: $Date$