2004-05-12 20:00:48 +02:00
< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
2003-10-27 19:18:16 +01:00
< html >
2004-04-06 06:22:43 +02:00
< head >
2004-07-09 07:05:39 +02:00
< title > Documentation for the LLVM System< / title >
2004-05-12 20:00:48 +02:00
< link rel = "stylesheet" href = "llvm.css" type = "text/css" >
2004-04-06 06:22:43 +02:00
< / head >
2003-10-27 19:18:16 +01:00
< body >
2004-07-09 07:05:39 +02:00
< div class = "doc_title" > Documentation for the LLVM System< / div >
2004-05-12 20:00:48 +02:00
< div class = "doc_text" >
2005-04-23 17:55:18 +02:00
< table class = "layout" width = "95%" > < tr class = "layout" > < td class = "left" >
2004-05-12 20:00:48 +02:00
< ul >
2004-08-02 23:29:20 +02:00
< li > < a href = "#llvmdesign" > LLVM Design< / a > < / li >
2006-09-18 01:05:15 +02:00
< li > < a href = "/pubs/" > LLVM Publications< / a > < / li >
2004-08-02 23:29:20 +02: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-02 23:32:08 +02:00
< li > < a href = "#maillist" > LLVM Mailing Lists< / a > < / li >
2004-05-12 20:00:48 +02:00
< / ul >
2005-04-23 17:55:18 +02:00
< / td > < td class = "right" >
< form action = "http://www.google.com/search" method = get >
2008-12-11 19:14:06 +01:00
< p >
2006-03-14 06:39:39 +01:00
< input type = "hidden" name = "sitesearch" value = "llvm.org/docs" >
2005-04-23 17:55:18 +02:00
< input type = text name = q size = 25 > < br >
< input type = submit value = "Search the LLVM Docs" name = "submit" >
2008-12-11 19:14:06 +01:00
< / p >
2005-04-23 19:27:36 +02:00
< / form >
2005-04-23 17:55:18 +02:00
< / td > < / tr > < / table >
2004-05-12 20:00:48 +02:00
< / div >
2008-12-12 00:24:40 +01:00
< div class = "doc_author" >
2006-03-14 06:39:39 +01:00
< p > Written by < a href = "http://llvm.org" > The LLVM Team< / a > < / p >
2004-08-02 23:33:45 +02:00
< / div >
2004-08-02 23:29:20 +02:00
<!-- ======================================================================= -->
2006-06-20 22:54:47 +02:00
< div class = "doc_section" > < a name = "llvmdesign" > LLVM Design & Overview< / a > < / div >
2004-08-02 23:29:20 +02:00
<!-- ======================================================================= -->
2004-05-12 20:00:48 +02:00
< ul >
2006-06-20 22:54:47 +02:00
< li > < a href = "LangRef.html" > LLVM Language Reference Manual< / a > - Defines the LLVM
intermediate representation.< / li >
2006-06-20 22:56:03 +02:00
< li > < a href = "http://llvm.org/pubs/2006-04-25-GelatoLLVMIntro.html" > Introduction to the LLVM Compiler Infrastructure< / a > - Presentation describing LLVM.< / li >
< li > < a href = "http://llvm.org/pubs/2004-09-22-LCPCLLVMTutorial.html" > The LLVM Compiler Framework and
Infrastructure Tutorial< / a > - Tutorial for writing passes, exploring the system.< / li >
< 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
Multi-Stage Optimization< / a > - More details (somewhat old now).< / li >
2006-11-13 09:03:59 +01: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-20 20:21:31 +02:00
< / ul >
<!-- ======================================================================= -->
2004-08-02 23:29:20 +02:00
< div class = "doc_section" > < a name = "userguide" > LLVM User Guides< / a > < / div >
<!-- ======================================================================= -->
2004-05-12 20:00:48 +02:00
< ul >
2004-08-02 23:29:20 +02: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-12 20:00:48 +02:00
2005-02-01 16:59:28 +01: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 >
2007-11-09 20:24:54 +01:00
< li > < a href = "tutorial/" > LLVM Tutorial< / a > - A walk through the process of using
2007-11-09 06:45:51 +01:00
LLVM for a custom language, and the facilities LLVM offers in tutorial form.< / li >
2007-02-13 10:08:27 +01:00
< li > < a href = "DeveloperPolicy.html" > Developer Policy< / a > - The LLVM project's
policy towards developers and their contributions.< / li >
2007-08-06 01:43:44 +02:00
< li > < a href = "/docs/CommandGuide/index.html" > LLVM Command Guide< / a > - A reference
2008-12-11 19:14:06 +01:00
manual for the LLVM command line utilities ("man" pages for LLVM tools).< br >
2004-11-01 22:57:35 +01:00
Current tools:
2007-08-06 01:43:44 +02: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/llvmc.html" > llvmc< / a >
< a href = "/cmds/llvmgcc.html" > llvm-gcc< / a > ,
< a href = "/cmds/llvmgxx.html" > llvm-g++< / a > ,
< a href = "/cmds/stkrc.html" > stkrc< / a > ,
< a href = "/cmds/bugpoint.html" > bugpoint< / a > ,
< a href = "/cmds/llvm-bcanalyzer.html" > llvm-bcanalyzer< / a > ,
2004-11-01 22:57:35 +01:00
< / li >
2004-05-12 20:00:48 +02:00
2008-03-24 19:29:32 +01: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-02 23:32:08 +02:00
< li > < a href = "FAQ.html" > Frequently Asked Questions< / a > - A list of common
questions and problems and their solutions.< / li >
2008-12-12 00:24:40 +01:00
< li > < a href = "ReleaseNotes.html" > Release notes for the current release< / a >
2004-08-02 23:29:20 +02:00
- This describes new features, known bugs, and other limitations.< / li >
2004-05-12 20:00:48 +02:00
2004-08-02 23:29:20 +02: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-12 20:00:48 +02:00
2008-07-02 15:54:58 +02:00
< li > < a href = "TestingGuide.html" > LLVM Testing Infrastructure Guide< / a > - A reference
manual for using the LLVM testing infrastructure.< / li >
2004-08-02 23:29:20 +02:00
2008-12-10 11:50:58 +01: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-02 23:32:08 +02:00
2004-09-20 01:15:47 +02:00
< li > < a href = "Lexicon.html" > The LLVM Lexicon< / a > - Definition of acronyms, terms
and concepts used in LLVM.< / li >
2008-12-12 00:24:40 +01: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-06 22:58:44 +02:00
href="irc://irc.oftc.net/llvm">join #llvm on irc.oftc.net< / a > directly.< / li >
2004-08-02 23:32:08 +02:00
2009-03-01 22:06:42 +01:00
< li > < a href = "GoldPlugin.html" > The LLVM gold plugin< / a > - How to build your
programs with link-time optimization on Linux.
2004-05-12 20:00:48 +02:00
< / ul >
2004-08-02 23:29:20 +02:00
<!-- ======================================================================= -->
< div class = "doc_section" > < a name = "llvmprog" > General LLVM Programming Documentation< / a > < / div >
<!-- ======================================================================= -->
2004-05-12 20:00:48 +02:00
2004-08-02 23:29:20 +02:00
< ul >
2006-06-20 22:54:47 +02: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-02 23:29:20 +02: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-12 20:00:48 +02:00
2004-08-02 23:29:20 +02: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-12 20:00:48 +02:00
2004-10-25 21:39:46 +02:00
< li > < a href = "MakefileGuide.html" > LLVM Makefile Guide< / a > - Describes how the
LLVM makefiles work and how to use them.< / li >
2004-08-02 23:29:20 +02:00
< li > < a href = "CommandLine.html" > CommandLine library Reference Manual< / a > -
Provides information on using the command line parsing library.< / li >
2004-05-12 20:00:48 +02:00
2004-10-25 21:39:46 +02:00
< li > < a href = "CodingStandards.html" > LLVM Coding standards< / a > -
2004-08-02 23:29:20 +02:00
Details the LLVM coding standards and provides useful information on writing
efficient C++ code.< / li >
2004-05-12 20:00:48 +02:00
2008-12-12 00:24:40 +01:00
< li > < a href = "ExtendingLLVM.html" > Extending LLVM< / a > - Look here to see how
2004-08-02 23:29:20 +02:00
to add instructions and intrinsics to LLVM.< / li >
2004-05-12 20:00:48 +02:00
2004-11-01 00:02:38 +01: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 07:53:38 +01: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 >
2008-12-12 00:24:40 +01:00
< li > < a href = "http://llvm.org/doxygen/" > Doxygen generated
2004-12-04 00:26:23 +01:00
documentation< / a > (< a
2006-03-14 06:39:39 +01:00
href="http://llvm.org/doxygen/inherits.html">classes< / a > )
2005-11-30 07:35:34 +01:00
2006-03-14 06:39:39 +01:00
(< a href = "http://llvm.org/doxygen/doxygen.tar.gz" > tarball< / a > )
2005-11-30 07:35:34 +01:00
< / li >
2004-08-02 23:29:20 +02:00
2007-07-09 10:04:31 +02:00
< li > < a href = "http://llvm.org/viewvc/" > ViewVC Repository Browser< / a > < / li >
2004-05-12 20:00:48 +02:00
< / ul >
2004-08-02 23:29:20 +02:00
<!-- ======================================================================= -->
< div class = "doc_section" > < a name = "subsystems" > LLVM Subsystem Documentation< / a > < / div >
<!-- ======================================================================= -->
2004-05-12 20:00:48 +02:00
< ul >
2004-08-02 23:29:20 +02:00
< li > < a href = "WritingAnLLVMPass.html" > Writing an LLVM Pass< / a > - Information
on how to write LLVM transformations and analyses.< / li >
2004-05-12 20:00:48 +02:00
2004-09-07 01:00:01 +02:00
< li > < a href = "WritingAnLLVMBackend.html" > Writing an LLVM Backend< / a > - Information
on how to write LLVM backends for machine targets.< / li >
2004-08-02 23:29:20 +02: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-12 20:00:48 +02:00
2004-08-02 23:29:20 +02: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-27 19:18:16 +01:00
2004-08-02 23:29:20 +02: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-27 19:18:16 +01:00
2004-08-02 23:29:20 +02: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-27 19:18:16 +01:00
2004-08-02 23:29:20 +02: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 00:24:40 +01:00
< li > < a href = "ExceptionHandling.html" > Zero Cost Exception handling in LLVM< / a >
2007-05-14 01:38:44 +02:00
- This document describes the design and implementation of exception handling
in LLVM.< / li >
2005-01-07 18:00:44 +01:00
< li > < a href = "Bugpoint.html" > Bugpoint< / a > - automatic bug finder and test-case
2004-12-09 21:26:53 +01:00
reducer description and usage information.< / li >
2004-08-02 23:29:20 +02:00
2008-12-12 00:24:40 +01:00
< li > < a href = "CompilerDriverTutorial.html" > Compiler Driver (llvmc) Tutorial< / a >
- This document is a tutorial introduction to the usage and
configuration of the LLVM compiler driver tool, < tt > llvmc< / tt > .< / li >
2004-08-17 10:01:57 +02:00
2008-12-12 00:24:40 +01:00
< li > < a href = "CompilerDriver.html" > Compiler Driver (llvmc)
Reference< / a > - This document describes the design and configuration
of < tt > llvmc< / tt > in more detail.< / li >
< li > < a href = "BitCodeFormat.html" > LLVM Bitcode File Format< / a > - This describes
2008-07-13 23:27:36 +02:00
the file format and encoding used for LLVM "bc" files.< / li >
2006-06-20 22:54:47 +02:00
2005-01-05 20:01:20 +01: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-14 20:21:53 +02: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 >
2004-08-02 23:29:20 +02:00
< / ul >
2003-10-27 19:18:16 +01:00
2006-03-23 07:53:38 +01:00
2004-08-02 23:29:20 +02:00
<!-- ======================================================================= -->
2004-08-02 23:32:08 +02:00
< div class = "doc_section" > < a name = "maillist" > LLVM Mailing Lists< / a > < / div >
2004-08-02 23:29:20 +02:00
<!-- ======================================================================= -->
< ul >
2008-11-12 11:10:25 +01:00
< li > The < a href = "http://lists.cs.uiuc.edu/mailman/listinfo/llvm-announce" >
2008-12-12 00:24:40 +01:00
LLVM Announcements List< / a > : This is a low volume list that provides important
2004-08-02 23:29:20 +02:00
announcements regarding LLVM. It gets email about once a month.< / li >
2008-11-12 11:10:25 +01:00
< li > The < a href = "http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" > Developer's
2008-12-12 00:24:40 +01: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-02 23:29:20 +02:00
writing code for or using the LLVM tools. It is relatively low volume.< / li >
2008-11-12 11:10:25 +01:00
< li > The < a href = "http://lists.cs.uiuc.edu/pipermail/llvmbugs/" > Bugs &
2004-08-02 23:29:20 +02:00
Patches Archive< / a > : This list gets emailed every time a bug is opened and
2008-12-12 00:24:40 +01:00
closed, and when people submit patches to be included in LLVM. It is higher
2004-08-02 23:29:20 +02:00
volume than the LLVMdev list.< / li >
2008-11-12 11:10:25 +01:00
< li > The < a href = "http://lists.cs.uiuc.edu/pipermail/llvm-commits/" > Commits
2008-12-12 00:24:40 +01: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-02 23:29:20 +02:00
want to stay on the bleeding edge of LLVM development. This list is very high
volume.< / li >
2008-11-12 11:10:25 +01:00
< li > The < a href = "http://lists.cs.uiuc.edu/pipermail/llvm-testresults/" >
2006-02-23 17:18:29 +01:00
Test Results Archive< / a > : A message is automatically sent to this list by every
2006-02-23 17:14:22 +01: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-02 23:29:20 +02:00
< / ul >
2003-10-27 19:18:16 +01:00
2004-05-12 20:00:48 +02:00
<!-- *********************************************************************** -->
2003-10-27 19:18:16 +01:00
< hr >
2004-05-12 20:00:48 +02:00
< address >
< a href = "http://jigsaw.w3.org/css-validator/check/referer" > < img
2008-12-11 18:34:48 +01:00
src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS">< / a >
2004-05-12 20:00:48 +02:00
< a href = "http://validator.w3.org/check/referer" > < img
2008-12-11 18:34:48 +01:00
src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01">< / a >
2003-10-27 19:18:16 +01:00
2006-03-14 06:39:39 +01:00
< a href = "http://llvm.org" > LLVM Compiler Infrastructure< / a > < br >
2004-05-12 20:00:48 +02:00
Last modified: $Date$
< / address >
2007-07-01 19:02:22 +02:00
< / body > < / html >
2007-09-21 19:30:40 +02:00