2004-05-13 02:00:48 +08:00
< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
2003-10-28 02:18:16 +08:00
< html >
2004-04-06 12:22:43 +08:00
< head >
2010-02-04 02:49:55 +08:00
< title > Documentation for the LLVM System at SVN head< / title >
2004-05-13 02:00:48 +08:00
< link rel = "stylesheet" href = "llvm.css" type = "text/css" >
2004-04-06 12:22:43 +08:00
< / head >
2003-10-28 02:18:16 +08:00
< body >
2011-04-19 07:59:50 +08:00
< h1 > Documentation for the LLVM System at SVN head< / h1 >
2010-02-04 02:23:23 +08:00
2010-02-04 02:49:55 +08:00
< p class = "doc_warning" > If you are using a released version of LLVM,
see < a href = "http://llvm.org/releases/" > the download page< / a > to find
your documentation.< / p >
2004-05-13 02:00:48 +08:00
2005-04-23 23:55:18 +08:00
< table class = "layout" width = "95%" > < tr class = "layout" > < td class = "left" >
2004-05-13 02:00:48 +08:00
< ul >
2004-08-03 05:29:20 +08:00
< li > < a href = "#llvmdesign" > LLVM Design< / a > < / li >
2006-09-18 07:05:15 +08:00
< li > < a href = "/pubs/" > LLVM Publications< / a > < / li >
2004-08-03 05:29:20 +08:00
< li > < a href = "#userguide" > LLVM User Guides< / a > < / li >
< li > < a href = "#llvmprog" > General LLVM Programming Documentation< / a > < / li >
< li > < a href = "#subsystems" > LLVM Subsystem Documentation< / a > < / li >
2004-08-03 05:32:08 +08:00
< li > < a href = "#maillist" > LLVM Mailing Lists< / a > < / li >
2004-05-13 02:00:48 +08:00
< / ul >
2005-04-23 23:55:18 +08:00
< / td > < td class = "right" >
< form action = "http://www.google.com/search" method = get >
2008-12-12 02:14:06 +08:00
< p >
2006-03-14 13:39:39 +08:00
< input type = "hidden" name = "sitesearch" value = "llvm.org/docs" >
2005-04-23 23:55:18 +08:00
< input type = text name = q size = 25 > < br >
< input type = submit value = "Search the LLVM Docs" name = "submit" >
2008-12-12 02:14:06 +08:00
< / p >
2005-04-24 01:27:36 +08:00
< / form >
2005-04-23 23:55:18 +08:00
< / td > < / tr > < / table >
2004-05-13 02:00:48 +08:00
2008-12-12 07:24:40 +08:00
< div class = "doc_author" >
2011-04-09 10:13:37 +08:00
< p > Written by < a href = "http://llvm.org/" > The LLVM Team< / a > < / p >
2004-08-03 05:33:45 +08:00
< / div >
2004-08-03 05:29:20 +08:00
<!-- ======================================================================= -->
2011-04-19 07:59:50 +08:00
< h2 > < a name = "llvmdesign" > LLVM Design & Overview< / a > < / h2 >
2004-08-03 05:29:20 +08:00
<!-- ======================================================================= -->
2004-05-13 02:00:48 +08:00
< ul >
2006-06-21 04:54:47 +08:00
< li > < a href = "LangRef.html" > LLVM Language Reference Manual< / a > - Defines the LLVM
intermediate representation.< / li >
2011-05-30 11:36:58 +08:00
< li > < a href = "http://llvm.org/pubs/2008-10-04-ACAT-LLVM-Intro.html" > Introduction to the LLVM Compiler < / a > - Presentation providing a users introduction to LLVM.< / li >
< li > < a href = "http://www.aosabook.org/en/llvm.html" > Intro to LLVM< / a > - book chapter providing a compiler hacker's introduction to LLVM.< / li >
2006-06-21 04:56:03 +08:00
< li > < a href = "http://llvm.org/pubs/2004-01-30-CGO-LLVM.html" > LLVM: A Compilation Framework for
Lifelong Program Analysis & Transformation< / a > - Design overview.< / li >
< li > < a href = "http://llvm.org/pubs/2002-12-LattnerMSThesis.html" > LLVM: An Infrastructure for
2009-07-29 14:19:14 +08:00
Multi-Stage Optimization< / a > - More details (quite old now).< / li >
2006-11-13 16:03:59 +08:00
< li > < a href = "GetElementPtr.html" > GetElementPtr FAQ< / a > - Answers to some very
frequent questions about LLVM's most frequently misunderstood instruction.< / li >
2006-06-21 02:21:31 +08:00
< / ul >
<!-- ======================================================================= -->
2011-04-19 07:59:50 +08:00
< h2 > < a name = "userguide" > LLVM User Guides< / a > < / h2 >
2004-08-03 05:29:20 +08:00
<!-- ======================================================================= -->
2004-05-13 02:00:48 +08:00
< ul >
2004-08-03 05:29:20 +08:00
< li > < a href = "GettingStarted.html" > The LLVM Getting Started Guide< / a > -
Discusses how to get up and running quickly with the LLVM infrastructure.
Everything from unpacking and compilation of the distribution to execution of
some tools.< / li >
2004-05-13 02:00:48 +08:00
2005-02-01 23:59:28 +08:00
< li > < a href = "GettingStartedVS.html" > Getting Started with the LLVM System using
Microsoft Visual Studio< / a > - An addendum to the main Getting Started guide for
those using Visual Studio on Windows.< / li >
2010-05-07 08:28:04 +08:00
< li > < a href = "tutorial/" > LLVM Tutorial< / a > - A walk through the process of using
2007-11-09 13:45:51 +08:00
LLVM for a custom language, and the facilities LLVM offers in tutorial form.< / li >
2007-02-13 17:08:27 +08:00
< li > < a href = "DeveloperPolicy.html" > Developer Policy< / a > - The LLVM project's
policy towards developers and their contributions.< / li >
2011-04-09 10:13:48 +08:00
< li > < a href = "CommandGuide/index.html" > LLVM Command Guide< / a > - A reference
2008-12-12 02:14:06 +08:00
manual for the LLVM command line utilities ("man" pages for LLVM tools).< br >
2004-11-02 05:57:35 +08:00
Current tools:
2010-05-07 08:28:04 +08:00
< a href = "/cmds/llvm-ar.html" > llvm-ar< / a > ,
< a href = "/cmds/llvm-as.html" > llvm-as< / a > ,
< a href = "/cmds/llvm-dis.html" > llvm-dis< / a > ,
< a href = "/cmds/llvm-extract.html" > llvm-extract< / a > ,
< a href = "/cmds/llvm-ld.html" > llvm-ld< / a > ,
< a href = "/cmds/llvm-link.html" > llvm-link< / a > ,
< a href = "/cmds/llvm-nm.html" > llvm-nm< / a > ,
< a href = "/cmds/llvm-prof.html" > llvm-prof< / a > ,
< a href = "/cmds/llvm-ranlib.html" > llvm-ranlib< / a > ,
< a href = "/cmds/opt.html" > opt< / a > ,
< a href = "/cmds/llc.html" > llc< / a > ,
< a href = "/cmds/lli.html" > lli< / a > ,
< a href = "/cmds/llvmgcc.html" > llvm-gcc< / a > ,
< a href = "/cmds/llvmgxx.html" > llvm-g++< / a > ,
< a href = "/cmds/bugpoint.html" > bugpoint< / a > ,
< a href = "/cmds/llvm-bcanalyzer.html" > llvm-bcanalyzer< / a > ,
2004-11-02 05:57:35 +08:00
< / li >
2004-05-13 02:00:48 +08:00
2008-03-25 02:29:32 +08:00
< li > < a href = "Passes.html" > LLVM's Analysis and Transform Passes< / a > - A list of
optimizations and analyses implemented in LLVM.< / li >
2004-08-03 05:32:08 +08:00
< li > < a href = "FAQ.html" > Frequently Asked Questions< / a > - A list of common
questions and problems and their solutions.< / li >
2008-12-12 07:24:40 +08:00
< li > < a href = "ReleaseNotes.html" > Release notes for the current release< / a >
2004-08-03 05:29:20 +08:00
- This describes new features, known bugs, and other limitations.< / li >
2004-05-13 02:00:48 +08:00
2004-08-03 05:29:20 +08:00
< li > < a href = "HowToSubmitABug.html" > How to Submit A Bug Report< / a > -
Instructions for properly submitting information about any bugs you run into in
the LLVM system.< / li >
2004-05-13 02:00:48 +08:00
2008-07-02 21:54:58 +08:00
< li > < a href = "TestingGuide.html" > LLVM Testing Infrastructure Guide< / a > - A reference
manual for using the LLVM testing infrastructure.< / li >
2004-08-03 05:29:20 +08:00
2008-12-10 18:50:58 +08:00
< li > < a href = "GCCFEBuildInstrs.html" > How to build the Ada/C/C++/Fortran front-ends< / a > -
Instructions for building gcc front-ends from source.< / li >
2004-08-03 05:32:08 +08:00
2010-02-26 08:54:42 +08:00
< li > < a href = "Packaging.html" > Packaging guide< / a > - Advice on packaging
LLVM into a distribution.< / li >
2004-09-20 07:15:47 +08:00
< li > < a href = "Lexicon.html" > The LLVM Lexicon< / a > - Definition of acronyms, terms
and concepts used in LLVM.< / li >
2008-12-12 07:24:40 +08:00
< 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
2004-09-07 04:58:44 +08:00
href="irc://irc.oftc.net/llvm">join #llvm on irc.oftc.net< / a > directly.< / li >
2004-08-03 05:32:08 +08:00
2004-05-13 02:00:48 +08:00
< / ul >
2004-08-03 05:29:20 +08:00
<!-- ======================================================================= -->
2011-04-19 07:59:50 +08:00
< h2 > < a name = "llvmprog" > General LLVM Programming Documentation< / a > < / h2 >
2004-08-03 05:29:20 +08:00
<!-- ======================================================================= -->
2004-05-13 02:00:48 +08:00
2004-08-03 05:29:20 +08:00
< ul >
2006-06-21 04:54:47 +08:00
< li > < a href = "LangRef.html" > LLVM Language Reference Manual< / a > - Defines the LLVM
intermediate representation and the assembly form of the different nodes.< / li >
2004-08-03 05:29:20 +08:00
< li > < a href = "ProgrammersManual.html" > The LLVM Programmers Manual< / a > -
Introduction to the general layout of the LLVM sourcebase, important classes
and APIs, and some tips & tricks.< / li >
2004-05-13 02:00:48 +08:00
2004-08-03 05:29:20 +08:00
< li > < a href = "Projects.html" > LLVM Project Guide< / a > - How-to guide and
templates for new projects that < em > use< / em > the LLVM infrastructure. The
templates (directory organization, Makefiles, and test tree) allow the project
code to be located outside (or inside) the < tt > llvm/< / tt > tree, while using LLVM
header files and libraries.< / li >
2004-05-13 02:00:48 +08:00
2004-10-26 03:39:46 +08:00
< li > < a href = "MakefileGuide.html" > LLVM Makefile Guide< / a > - Describes how the
LLVM makefiles work and how to use them.< / li >
2004-08-03 05:29:20 +08:00
< li > < a href = "CommandLine.html" > CommandLine library Reference Manual< / a > -
Provides information on using the command line parsing library.< / li >
2004-05-13 02:00:48 +08:00
2004-10-26 03:39:46 +08:00
< li > < a href = "CodingStandards.html" > LLVM Coding standards< / a > -
2004-08-03 05:29:20 +08:00
Details the LLVM coding standards and provides useful information on writing
efficient C++ code.< / li >
2004-05-13 02:00:48 +08:00
2008-12-12 07:24:40 +08:00
< li > < a href = "ExtendingLLVM.html" > Extending LLVM< / a > - Look here to see how
2004-08-03 05:29:20 +08:00
to add instructions and intrinsics to LLVM.< / li >
2004-05-13 02:00:48 +08:00
2004-11-01 07:02:38 +08:00
< li > < a href = "UsingLibraries.html" > Using LLVM Libraries< / a > - Look here to
understand how to use the libraries produced when LLVM is compiled.< / li >
2006-03-23 14:53:38 +08:00
< 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 >
2011-07-07 02:31:02 +08:00
2008-12-12 07:24:40 +08:00
< li > < a href = "http://llvm.org/doxygen/" > Doxygen generated
2004-12-04 07:26:23 +08:00
documentation< / a > (< a
2006-03-14 13:39:39 +08:00
href="http://llvm.org/doxygen/inherits.html">classes< / a > )
2005-11-30 14:35:34 +08:00
2006-03-14 13:39:39 +08:00
(< a href = "http://llvm.org/doxygen/doxygen.tar.gz" > tarball< / a > )
2005-11-30 14:35:34 +08:00
< / li >
2004-08-03 05:29:20 +08:00
2007-07-09 16:04:31 +08:00
< li > < a href = "http://llvm.org/viewvc/" > ViewVC Repository Browser< / a > < / li >
2004-05-13 02:00:48 +08:00
< / ul >
2004-08-03 05:29:20 +08:00
<!-- ======================================================================= -->
2011-04-19 07:59:50 +08:00
< h2 > < a name = "subsystems" > LLVM Subsystem Documentation< / a > < / h2 >
2004-08-03 05:29:20 +08:00
<!-- ======================================================================= -->
2004-05-13 02:00:48 +08:00
< ul >
2004-08-03 05:29:20 +08:00
< li > < a href = "WritingAnLLVMPass.html" > Writing an LLVM Pass< / a > - Information
on how to write LLVM transformations and analyses.< / li >
2004-05-13 02:00:48 +08:00
2004-09-07 07:00:01 +08:00
< li > < a href = "WritingAnLLVMBackend.html" > Writing an LLVM Backend< / a > - Information
on how to write LLVM backends for machine targets.< / li >
2004-08-03 05:29:20 +08:00
< li > < a href = "CodeGenerator.html" > The LLVM Target-Independent Code
Generator< / a > - The design and implementation of the LLVM code generator.
Useful if you are working on retargetting LLVM to a new architecture, designing
a new codegen pass, or enhancing existing components.< / li >
2004-05-13 02:00:48 +08:00
2004-08-03 05:29:20 +08:00
< li > < a href = "TableGenFundamentals.html" > TableGen Fundamentals< / a > -
Describes the TableGen tool, which is used heavily by the LLVM code
generator.< / li >
2003-10-28 02:18:16 +08:00
2004-08-03 05:29:20 +08:00
< li > < a href = "AliasAnalysis.html" > Alias Analysis in LLVM< / a > - Information
on how to write a new alias analysis implementation or how to use existing
analyses.< / li >
2003-10-28 02:18:16 +08:00
2004-08-03 05:29:20 +08:00
< li > < a href = "GarbageCollection.html" > Accurate Garbage Collection with
LLVM< / a > - The interfaces source-language compilers should use for compiling
GC'd programs.< / li >
2003-10-28 02:18:16 +08:00
2004-08-03 05:29:20 +08:00
< li > < a href = "SourceLevelDebugging.html" > Source Level Debugging with
LLVM< / a > - This document describes the design and philosophy behind the LLVM
source-level debugger.< / li >
2008-12-12 07:24:40 +08:00
< li > < a href = "ExceptionHandling.html" > Zero Cost Exception handling in LLVM< / a >
2007-05-14 07:38:44 +08:00
- This document describes the design and implementation of exception handling
in LLVM.< / li >
2005-01-08 01:00:44 +08:00
< li > < a href = "Bugpoint.html" > Bugpoint< / a > - automatic bug finder and test-case
2004-12-10 04:26:53 +08:00
reducer description and usage information.< / li >
2004-08-03 05:29:20 +08:00
2008-12-12 07:24:40 +08:00
< li > < a href = "BitCodeFormat.html" > LLVM Bitcode File Format< / a > - This describes
2008-07-14 05:27:36 +08:00
the file format and encoding used for LLVM "bc" files.< / li >
2006-06-21 04:54:47 +08:00
2005-01-06 03:01:20 +08:00
< li > < a href = "SystemLibrary.html" > System Library< / a > - This document describes
the LLVM System Library (< tt > lib/System< / tt > ) and how to keep LLVM source code
portable< / li >
2006-08-15 02:21:53 +08:00
< li > < a href = "LinkTimeOptimization.html" > Link Time Optimization< / a > - This
document describes the interface between LLVM intermodular optimizer and
the linker and its design< / li >
2009-03-02 07:42:51 +08:00
< li > < a href = "GoldPlugin.html" > The LLVM gold plugin< / a > - How to build your
programs with link-time optimization on Linux.< / li >
2009-09-21 10:34:59 +08:00
< li > < a href = "DebuggingJITedCode.html" > The GDB JIT interface< / a > - How to debug
JITed code with GDB.< / li >
2011-07-07 02:31:02 +08:00
< li > < a href = "BranchWeightMetadata.html" > Branch Weight Metadata< / a > - Provides
information about Branch Prediction Information.< / li >
2004-08-03 05:29:20 +08:00
< / ul >
2003-10-28 02:18:16 +08:00
2006-03-23 14:53:38 +08:00
2004-08-03 05:29:20 +08:00
<!-- ======================================================================= -->
2011-04-19 07:59:50 +08:00
< h2 > < a name = "maillist" > LLVM Mailing Lists< / a > < / h2 >
2004-08-03 05:29:20 +08:00
<!-- ======================================================================= -->
< ul >
2008-11-12 18:10:25 +08:00
< li > The < a href = "http://lists.cs.uiuc.edu/mailman/listinfo/llvm-announce" >
2008-12-12 07:24:40 +08:00
LLVM Announcements List< / a > : This is a low volume list that provides important
2004-08-03 05:29:20 +08:00
announcements regarding LLVM. It gets email about once a month.< / li >
2008-11-12 18:10:25 +08:00
< li > The < a href = "http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" > Developer's
2008-12-12 07:24:40 +08:00
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
2004-08-03 05:29:20 +08:00
writing code for or using the LLVM tools. It is relatively low volume.< / li >
2008-11-12 18:10:25 +08:00
< li > The < a href = "http://lists.cs.uiuc.edu/pipermail/llvmbugs/" > Bugs &
2004-08-03 05:29:20 +08:00
Patches Archive< / a > : This list gets emailed every time a bug is opened and
2008-12-12 07:24:40 +08:00
closed, and when people submit patches to be included in LLVM. It is higher
2004-08-03 05:29:20 +08:00
volume than the LLVMdev list.< / li >
2008-11-12 18:10:25 +08:00
< li > The < a href = "http://lists.cs.uiuc.edu/pipermail/llvm-commits/" > Commits
2008-12-12 07:24:40 +08:00
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
2004-08-03 05:29:20 +08:00
want to stay on the bleeding edge of LLVM development. This list is very high
volume.< / li >
2008-11-12 18:10:25 +08:00
< li > The < a href = "http://lists.cs.uiuc.edu/pipermail/llvm-testresults/" >
2006-02-24 00:18:29 +08:00
Test Results Archive< / a > : A message is automatically sent to this list by every
2006-02-24 00:14:22 +08:00
active nightly tester when it completes. As such, this list gets email several
times each day, making it a high volume list.< / li >
2004-08-03 05:29:20 +08:00
< / ul >
2003-10-28 02:18:16 +08:00
2004-05-13 02:00:48 +08:00
<!-- *********************************************************************** -->
2003-10-28 02:18:16 +08:00
< hr >
2004-05-13 02:00:48 +08:00
< address >
< a href = "http://jigsaw.w3.org/css-validator/check/referer" > < img
2008-12-12 01:34:48 +08:00
src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS">< / a >
2004-05-13 02:00:48 +08:00
< a href = "http://validator.w3.org/check/referer" > < img
2008-12-12 01:34:48 +08:00
src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01">< / a >
2003-10-28 02:18:16 +08:00
2011-04-09 10:13:37 +08:00
< a href = "http://llvm.org/" > LLVM Compiler Infrastructure< / a > < br >
2004-05-13 02:00:48 +08:00
Last modified: $Date$
< / address >
2007-07-02 01:02:22 +08:00
< / body > < / html >
2007-09-22 01:30:40 +08:00