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