blob: 22f90de202b8b3b3abe947efa6633a0eac1994d6 [file] [log] [blame]
Chris Lattnerfcc76882004-08-02 21:29:20 +00001
Misha Brukman8e33fed2004-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 Criswellf531f312003-10-27 18:18:16 +00004<html>
Misha Brukmanad3e28c2004-04-06 04:22:43 +00005<head>
Chris Lattner0fc190f2004-07-09 05:05:39 +00006 <title>Documentation for the LLVM System</title>
Misha Brukman8e33fed2004-05-12 18:00:48 +00007 <link rel="stylesheet" href="llvm.css" type="text/css">
Misha Brukmanad3e28c2004-04-06 04:22:43 +00008</head>
John Criswellf531f312003-10-27 18:18:16 +00009<body>
10
Chris Lattner0fc190f2004-07-09 05:05:39 +000011<div class="doc_title">Documentation for the LLVM System</div>
John Criswellf531f312003-10-27 18:18:16 +000012
Misha Brukman8e33fed2004-05-12 18:00:48 +000013<div class="doc_text">
14<ul>
Chris Lattnerfcc76882004-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 Brukman8e33fed2004-05-12 18:00:48 +000024</ul>
25</div>
John Criswellf531f312003-10-27 18:18:16 +000026
Chris Lattnerfcc76882004-08-02 21:29:20 +000027<!--=======================================================================-->
28<div class="doc_section"><a name="llvmdesign">LLVM Design</a></div>
29<!--=======================================================================-->
Misha Brukmanad3e28c2004-04-06 04:22:43 +000030
Misha Brukman8e33fed2004-05-12 18:00:48 +000031<ul>
Chris Lattnerfcc76882004-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 Criswellf531f312003-10-27 18:18:16 +000036
Chris Lattnerfcc76882004-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 Criswellf531f312003-10-27 18:18:16 +000040
Reid Spencer9acd4122004-05-22 02:28:36 +000041<li><a href="BytecodeFormat.html">LLVM Bytecode File Format</a></li>
Chris Lattnerfcc76882004-08-02 21:29:20 +000042
Misha Brukman8e33fed2004-05-12 18:00:48 +000043</ul>
Misha Brukman8e33fed2004-05-12 18:00:48 +000044
Chris Lattnerfcc76882004-08-02 21:29:20 +000045<!--=======================================================================-->
46<div class="doc_section"><a name="userguide">LLVM User Guides</a></div>
47<!--=======================================================================-->
Misha Brukman8e33fed2004-05-12 18:00:48 +000048
Misha Brukman8e33fed2004-05-12 18:00:48 +000049<ul>
Chris Lattnerfcc76882004-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 Brukman8e33fed2004-05-12 18:00:48 +000070</ul>
Misha Brukman8e33fed2004-05-12 18:00:48 +000071
Misha Brukman8e33fed2004-05-12 18:00:48 +000072
Chris Lattnerfcc76882004-08-02 21:29:20 +000073<!--=======================================================================-->
74<div class="doc_section"><a name="llvmprog">General LLVM Programming Documentation</a></div>
75<!--=======================================================================-->
Misha Brukman8e33fed2004-05-12 18:00:48 +000076
Chris Lattnerfcc76882004-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 Criswellf531f312003-10-27 18:18:16 +000081
Chris Lattnerfcc76882004-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 Criswellf531f312003-10-27 18:18:16 +000087
Chris Lattnerfcc76882004-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 Criswellf531f312003-10-27 18:18:16 +000090
Chris Lattnerfcc76882004-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 Brukman8e33fed2004-05-12 18:00:48 +000094
Chris Lattnerfcc76882004-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 Brukman8e33fed2004-05-12 18:00:48 +000098
Chris Lattnerfcc76882004-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 Brukman8e33fed2004-05-12 18:00:48 +0000101
Chris Lattnerfcc76882004-08-02 21:29:20 +0000102<li><a href="CodingStandards.html">Coding Standards</a> - Guidelines for
103hacking LLVM source.</li>
Misha Brukman8e33fed2004-05-12 18:00:48 +0000104
Chris Lattnerfcc76882004-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 Brukman8e33fed2004-05-12 18:00:48 +0000108
Chris Lattnerfcc76882004-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 Criswellf531f312003-10-27 18:18:16 +0000111
Chris Lattnerfcc76882004-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 Criswellf531f312003-10-27 18:18:16 +0000198
Misha Brukman8e33fed2004-05-12 18:00:48 +0000199<!-- *********************************************************************** -->
John Criswellf531f312003-10-27 18:18:16 +0000200
201<hr>
Misha Brukman8e33fed2004-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 Criswellf531f312003-10-27 18:18:16 +0000207
Misha Brukman8e33fed2004-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 Brukmanad3e28c2004-04-06 04:22:43 +0000211