blob: 309b7cf184684c45937a6b534a4c64f24dcde248 [file] [log] [blame]
Misha Brukmanb69715e2004-05-12 18:00:48 +00001<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
2 "http://www.w3.org/TR/html4/strict.dtd">
John Criswell0f6d7c02003-10-27 18:18:16 +00003<html>
Misha Brukman1e07e0c2004-04-06 04:22:43 +00004<head>
Chris Lattner52fa42d2004-07-09 05:05:39 +00005 <title>Documentation for the LLVM System</title>
Misha Brukmanb69715e2004-05-12 18:00:48 +00006 <link rel="stylesheet" href="llvm.css" type="text/css">
Misha Brukman1e07e0c2004-04-06 04:22:43 +00007</head>
John Criswell0f6d7c02003-10-27 18:18:16 +00008<body>
9
Chris Lattner52fa42d2004-07-09 05:05:39 +000010<div class="doc_title">Documentation for the LLVM System</div>
John Criswell0f6d7c02003-10-27 18:18:16 +000011
Misha Brukmanb69715e2004-05-12 18:00:48 +000012<div class="doc_text">
13<ul>
Chris Lattner20423022004-08-02 21:29:20 +000014 <li><a href="#llvmdesign">LLVM Design</a></li>
15 <li><a href="#userguide">LLVM User Guides</a></li>
16 <li><a href="#llvmprog">General LLVM Programming Documentation</a></li>
17 <li><a href="#subsystems">LLVM Subsystem Documentation</a></li>
Chris Lattner354a4422004-08-02 21:32:08 +000018 <li><a href="#maillist">LLVM Mailing Lists</a></li>
Misha Brukmanb69715e2004-05-12 18:00:48 +000019</ul>
20</div>
John Criswell0f6d7c02003-10-27 18:18:16 +000021
Chris Lattner20423022004-08-02 21:29:20 +000022<!--=======================================================================-->
23<div class="doc_section"><a name="llvmdesign">LLVM Design</a></div>
24<!--=======================================================================-->
Misha Brukman1e07e0c2004-04-06 04:22:43 +000025
Misha Brukmanb69715e2004-05-12 18:00:48 +000026<ul>
Chris Lattner20423022004-08-02 21:29:20 +000027<li><a href="pubs/2004-01-30-CGO-LLVM.html"> LLVM: A Compilation Framework for
28Lifelong Program Analysis &amp; Transformation</a>: - Describes
29the LLVM instruction set and compilation strategy. This should be the first
30document you read to get an overview of LLVM.</li>
John Criswell0f6d7c02003-10-27 18:18:16 +000031
Chris Lattner20423022004-08-02 21:29:20 +000032<li><a href="LangRef.html">LLVM Reference Manual</a> - Defines the LLVM
33intermediate representation, the assembly form of the different nodes, and
34provides reference information about the different tools in LLVM.</li>
John Criswell0f6d7c02003-10-27 18:18:16 +000035
Reid Spencer50026612004-05-22 02:28:36 +000036<li><a href="BytecodeFormat.html">LLVM Bytecode File Format</a></li>
Chris Lattner20423022004-08-02 21:29:20 +000037
Misha Brukmanb69715e2004-05-12 18:00:48 +000038</ul>
Misha Brukmanb69715e2004-05-12 18:00:48 +000039
Chris Lattner20423022004-08-02 21:29:20 +000040<!--=======================================================================-->
41<div class="doc_section"><a name="userguide">LLVM User Guides</a></div>
42<!--=======================================================================-->
Misha Brukmanb69715e2004-05-12 18:00:48 +000043
Misha Brukmanb69715e2004-05-12 18:00:48 +000044<ul>
Chris Lattner20423022004-08-02 21:29:20 +000045<li><a href="GettingStarted.html">The LLVM Getting Started Guide</a> -
46Discusses how to get up and running quickly with the LLVM infrastructure.
47Everything from unpacking and compilation of the distribution to execution of
48some tools.</li>
49
50<li><a href="CommandGuide/">LLVM Command Guide</a> - A reference manual for
51the LLVM command line utilities ("man" pages for LLVM tools).</li>
52
Chris Lattner354a4422004-08-02 21:32:08 +000053<li><a href="FAQ.html">Frequently Asked Questions</a> - A list of common
54questions and problems and their solutions.</li>
55
Chris Lattner20423022004-08-02 21:29:20 +000056<li><a href="ReleaseNotes.html">Release notes for the current release</a>
57- This describes new features, known bugs, and other limitations.</li>
58
59<li><a href="HowToSubmitABug.html">How to Submit A Bug Report</a> -
60Instructions for properly submitting information about any bugs you run into in
61the LLVM system.</li>
62
63<li><a href="TestingGuide.html">LLVM Test Suite Guide</a> - A reference
64manual for using the LLVM test suite.</li>
65
66<li><a href="CFEBuildInstrs.html">How to build the C/C++ front-end</a> -
67Instructions for building the front-end from source.</li>
Chris Lattner354a4422004-08-02 21:32:08 +000068
69<li> You can probably find help on the unofficial LLVM IRC channel. We often
70are on irc.oftc.net in the #llvm channel. If you are using the mozilla
71browser, and have chatzilla installed, you can join by <a
72href="irc://irc.oftc.net/llvm">clicking here</a>.</li>
73
Misha Brukmanb69715e2004-05-12 18:00:48 +000074</ul>
Misha Brukmanb69715e2004-05-12 18:00:48 +000075
Misha Brukmanb69715e2004-05-12 18:00:48 +000076
Chris Lattner20423022004-08-02 21:29:20 +000077<!--=======================================================================-->
78<div class="doc_section"><a name="llvmprog">General LLVM Programming Documentation</a></div>
79<!--=======================================================================-->
Misha Brukmanb69715e2004-05-12 18:00:48 +000080
Chris Lattner20423022004-08-02 21:29:20 +000081<ul>
82<li><a href="ProgrammersManual.html">The LLVM Programmers Manual</a> -
83Introduction to the general layout of the LLVM sourcebase, important classes
84and APIs, and some tips &amp; tricks.</li>
John Criswell0f6d7c02003-10-27 18:18:16 +000085
Chris Lattner20423022004-08-02 21:29:20 +000086<li><a href="Projects.html">LLVM Project Guide</a> - How-to guide and
87templates for new projects that <em>use</em> the LLVM infrastructure. The
88templates (directory organization, Makefiles, and test tree) allow the project
89code to be located outside (or inside) the <tt>llvm/</tt> tree, while using LLVM
90header files and libraries.</li>
John Criswell0f6d7c02003-10-27 18:18:16 +000091
Chris Lattner20423022004-08-02 21:29:20 +000092<li><a href="CommandLine.html">CommandLine library Reference Manual</a> -
93Provides information on using the command line parsing library.</li>
John Criswell0f6d7c02003-10-27 18:18:16 +000094
Chris Lattner20423022004-08-02 21:29:20 +000095<li><a href="CodingStandards.html">Recommended LLVM Coding standards</a> -
96Details the LLVM coding standards and provides useful information on writing
97efficient C++ code.</li>
Misha Brukmanb69715e2004-05-12 18:00:48 +000098
Chris Lattner20423022004-08-02 21:29:20 +000099<li><a href="OpenProjects.html">Open Projects</a> - Look here if you are
100interested in doing something with LLVM but aren't sure what needs to be
101done.</li>
Misha Brukmanb69715e2004-05-12 18:00:48 +0000102
Chris Lattner20423022004-08-02 21:29:20 +0000103<li><a href="ExtendingLLVM.html">Extending LLVM</a> - Look here to see how
104to add instructions and intrinsics to LLVM.</li>
Misha Brukmanb69715e2004-05-12 18:00:48 +0000105
Chris Lattner20423022004-08-02 21:29:20 +0000106<li><a href="CodingStandards.html">Coding Standards</a> - Guidelines for
107hacking LLVM source.</li>
Misha Brukmanb69715e2004-05-12 18:00:48 +0000108
Chris Lattner20423022004-08-02 21:29:20 +0000109<li><a href="http://llvm.cs.uiuc.edu/doxygen/">Doxygen generated
110documentation</a> (<a href="http://llvm.cs.uiuc.edu/doxygen/inherits.html">
111classes</a>)</li>
Misha Brukmanb69715e2004-05-12 18:00:48 +0000112
Chris Lattner20423022004-08-02 21:29:20 +0000113<li><a href="http://llvm.cs.uiuc.edu/cvsweb/cvsweb.cgi/llvm">CVSWeb CVS Tree
114Browser</a></li>
John Criswell0f6d7c02003-10-27 18:18:16 +0000115
Chris Lattner20423022004-08-02 21:29:20 +0000116</ul>
117
118<!--=======================================================================-->
119<div class="doc_section"><a name="subsystems">LLVM Subsystem Documentation</a></div>
120<!--=======================================================================-->
121
122<ul>
123
124<li><a href="WritingAnLLVMPass.html">Writing an LLVM Pass</a> - Information
125on how to write LLVM transformations and analyses.</li>
126
127<li><a href="CodeGenerator.html">The LLVM Target-Independent Code
128Generator</a> - The design and implementation of the LLVM code generator.
129Useful if you are working on retargetting LLVM to a new architecture, designing
130a new codegen pass, or enhancing existing components.</li>
131
132<li><a href="TableGenFundamentals.html">TableGen Fundamentals</a> -
133Describes the TableGen tool, which is used heavily by the LLVM code
134generator.</li>
135
136<li><a href="AliasAnalysis.html">Alias Analysis in LLVM</a> - Information
137on how to write a new alias analysis implementation or how to use existing
138analyses.</li>
139
140<li><a href="Stacker.html">The Stacker Cronicles</a> - This document
141describes both the Stacker language and LLVM frontend, but also some details
142about LLVM useful for those writing front-ends.</li>
143
144<li><a href="GarbageCollection.html">Accurate Garbage Collection with
145LLVM</a> - The interfaces source-language compilers should use for compiling
146GC'd programs.</li>
147
148<li><a href="SourceLevelDebugging.html">Source Level Debugging with
149LLVM</a> - This document describes the design and philosophy behind the LLVM
150source-level debugger.</li>
151
152<li><a href="Bugpoint.html">Bugpoint</a> automatic bug finder and
153test-case reducer description and usage information.</li>
154
155</ul>
156
157<!--=======================================================================-->
Chris Lattner354a4422004-08-02 21:32:08 +0000158<div class="doc_section"><a name="maillist">LLVM Mailing Lists</a></div>
Chris Lattner20423022004-08-02 21:29:20 +0000159<!--=======================================================================-->
160
161<ul>
162<li>The <a href="http://mail.cs.uiuc.edu/mailman/listinfo/llvm-announce">
163LLVM Announcements List</a>: This is a low volume list that provides important
164announcements regarding LLVM. It gets email about once a month.</li>
165
166<li>The <a href="http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev">Developer's
167List</a>: This list is for people who want to be included in technical
168discussions of LLVM. People post to this list when they have questions about
169writing code for or using the LLVM tools. It is relatively low volume.</li>
170
171<li>The <a href="http://mail.cs.uiuc.edu/pipermail/llvmbugs/">Bugs &amp;
172Patches Archive</a>: This list gets emailed every time a bug is opened and
173closed, and when people submit patches to be included in LLVM. It is higher
174volume than the LLVMdev list.</li>
175
176<li>The <a href="http://mail.cs.uiuc.edu/pipermail/llvm-commits/">CVS Commits
177Archive</a>: This list contains all commit messages that are made when LLVM
178developers commit code changes to the CVS archive. It is useful for those who
179want to stay on the bleeding edge of LLVM development. This list is very high
180volume.</li>
181
182</ul>
John Criswell0f6d7c02003-10-27 18:18:16 +0000183
Misha Brukmanb69715e2004-05-12 18:00:48 +0000184<!-- *********************************************************************** -->
John Criswell0f6d7c02003-10-27 18:18:16 +0000185
186<hr>
Misha Brukmanb69715e2004-05-12 18:00:48 +0000187<address>
188 <a href="http://jigsaw.w3.org/css-validator/check/referer"><img
189 src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!"></a>
190 <a href="http://validator.w3.org/check/referer"><img
191 src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!"></a>
John Criswell0f6d7c02003-10-27 18:18:16 +0000192
Misha Brukmanb69715e2004-05-12 18:00:48 +0000193 <a href="http://llvm.cs.uiuc.edu">LLVM Compiler Infrastructure</a><br>
194 Last modified: $Date$
195</address>
Misha Brukman1e07e0c2004-04-06 04:22:43 +0000196