Misha Brukman | b69715e | 2004-05-12 18:00:48 +0000 | [diff] [blame] | 1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" |
| 2 | "http://www.w3.org/TR/html4/strict.dtd"> |
John Criswell | 0f6d7c0 | 2003-10-27 18:18:16 +0000 | [diff] [blame] | 3 | <html> |
Misha Brukman | 1e07e0c | 2004-04-06 04:22:43 +0000 | [diff] [blame] | 4 | <head> |
Chris Lattner | 52fa42d | 2004-07-09 05:05:39 +0000 | [diff] [blame] | 5 | <title>Documentation for the LLVM System</title> |
Misha Brukman | b69715e | 2004-05-12 18:00:48 +0000 | [diff] [blame] | 6 | <link rel="stylesheet" href="llvm.css" type="text/css"> |
Misha Brukman | 1e07e0c | 2004-04-06 04:22:43 +0000 | [diff] [blame] | 7 | </head> |
John Criswell | 0f6d7c0 | 2003-10-27 18:18:16 +0000 | [diff] [blame] | 8 | <body> |
| 9 | |
Chris Lattner | 52fa42d | 2004-07-09 05:05:39 +0000 | [diff] [blame] | 10 | <div class="doc_title">Documentation for the LLVM System</div> |
John Criswell | 0f6d7c0 | 2003-10-27 18:18:16 +0000 | [diff] [blame] | 11 | |
Misha Brukman | b69715e | 2004-05-12 18:00:48 +0000 | [diff] [blame] | 12 | <div class="doc_text"> |
| 13 | <ul> |
Chris Lattner | 2042302 | 2004-08-02 21:29:20 +0000 | [diff] [blame] | 14 | <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 Lattner | 354a442 | 2004-08-02 21:32:08 +0000 | [diff] [blame^] | 18 | <li><a href="#maillist">LLVM Mailing Lists</a></li> |
Misha Brukman | b69715e | 2004-05-12 18:00:48 +0000 | [diff] [blame] | 19 | </ul> |
| 20 | </div> |
John Criswell | 0f6d7c0 | 2003-10-27 18:18:16 +0000 | [diff] [blame] | 21 | |
Chris Lattner | 2042302 | 2004-08-02 21:29:20 +0000 | [diff] [blame] | 22 | <!--=======================================================================--> |
| 23 | <div class="doc_section"><a name="llvmdesign">LLVM Design</a></div> |
| 24 | <!--=======================================================================--> |
Misha Brukman | 1e07e0c | 2004-04-06 04:22:43 +0000 | [diff] [blame] | 25 | |
Misha Brukman | b69715e | 2004-05-12 18:00:48 +0000 | [diff] [blame] | 26 | <ul> |
Chris Lattner | 2042302 | 2004-08-02 21:29:20 +0000 | [diff] [blame] | 27 | <li><a href="pubs/2004-01-30-CGO-LLVM.html"> LLVM: A Compilation Framework for |
| 28 | Lifelong Program Analysis & Transformation</a>: - Describes |
| 29 | the LLVM instruction set and compilation strategy. This should be the first |
| 30 | document you read to get an overview of LLVM.</li> |
John Criswell | 0f6d7c0 | 2003-10-27 18:18:16 +0000 | [diff] [blame] | 31 | |
Chris Lattner | 2042302 | 2004-08-02 21:29:20 +0000 | [diff] [blame] | 32 | <li><a href="LangRef.html">LLVM Reference Manual</a> - Defines the LLVM |
| 33 | intermediate representation, the assembly form of the different nodes, and |
| 34 | provides reference information about the different tools in LLVM.</li> |
John Criswell | 0f6d7c0 | 2003-10-27 18:18:16 +0000 | [diff] [blame] | 35 | |
Reid Spencer | 5002661 | 2004-05-22 02:28:36 +0000 | [diff] [blame] | 36 | <li><a href="BytecodeFormat.html">LLVM Bytecode File Format</a></li> |
Chris Lattner | 2042302 | 2004-08-02 21:29:20 +0000 | [diff] [blame] | 37 | |
Misha Brukman | b69715e | 2004-05-12 18:00:48 +0000 | [diff] [blame] | 38 | </ul> |
Misha Brukman | b69715e | 2004-05-12 18:00:48 +0000 | [diff] [blame] | 39 | |
Chris Lattner | 2042302 | 2004-08-02 21:29:20 +0000 | [diff] [blame] | 40 | <!--=======================================================================--> |
| 41 | <div class="doc_section"><a name="userguide">LLVM User Guides</a></div> |
| 42 | <!--=======================================================================--> |
Misha Brukman | b69715e | 2004-05-12 18:00:48 +0000 | [diff] [blame] | 43 | |
Misha Brukman | b69715e | 2004-05-12 18:00:48 +0000 | [diff] [blame] | 44 | <ul> |
Chris Lattner | 2042302 | 2004-08-02 21:29:20 +0000 | [diff] [blame] | 45 | <li><a href="GettingStarted.html">The LLVM Getting Started Guide</a> - |
| 46 | Discusses how to get up and running quickly with the LLVM infrastructure. |
| 47 | Everything from unpacking and compilation of the distribution to execution of |
| 48 | some tools.</li> |
| 49 | |
| 50 | <li><a href="CommandGuide/">LLVM Command Guide</a> - A reference manual for |
| 51 | the LLVM command line utilities ("man" pages for LLVM tools).</li> |
| 52 | |
Chris Lattner | 354a442 | 2004-08-02 21:32:08 +0000 | [diff] [blame^] | 53 | <li><a href="FAQ.html">Frequently Asked Questions</a> - A list of common |
| 54 | questions and problems and their solutions.</li> |
| 55 | |
Chris Lattner | 2042302 | 2004-08-02 21:29:20 +0000 | [diff] [blame] | 56 | <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> - |
| 60 | Instructions for properly submitting information about any bugs you run into in |
| 61 | the LLVM system.</li> |
| 62 | |
| 63 | <li><a href="TestingGuide.html">LLVM Test Suite Guide</a> - A reference |
| 64 | manual for using the LLVM test suite.</li> |
| 65 | |
| 66 | <li><a href="CFEBuildInstrs.html">How to build the C/C++ front-end</a> - |
| 67 | Instructions for building the front-end from source.</li> |
Chris Lattner | 354a442 | 2004-08-02 21:32:08 +0000 | [diff] [blame^] | 68 | |
| 69 | <li> You can probably find help on the unofficial LLVM IRC channel. We often |
| 70 | are on irc.oftc.net in the #llvm channel. If you are using the mozilla |
| 71 | browser, and have chatzilla installed, you can join by <a |
| 72 | href="irc://irc.oftc.net/llvm">clicking here</a>.</li> |
| 73 | |
Misha Brukman | b69715e | 2004-05-12 18:00:48 +0000 | [diff] [blame] | 74 | </ul> |
Misha Brukman | b69715e | 2004-05-12 18:00:48 +0000 | [diff] [blame] | 75 | |
Misha Brukman | b69715e | 2004-05-12 18:00:48 +0000 | [diff] [blame] | 76 | |
Chris Lattner | 2042302 | 2004-08-02 21:29:20 +0000 | [diff] [blame] | 77 | <!--=======================================================================--> |
| 78 | <div class="doc_section"><a name="llvmprog">General LLVM Programming Documentation</a></div> |
| 79 | <!--=======================================================================--> |
Misha Brukman | b69715e | 2004-05-12 18:00:48 +0000 | [diff] [blame] | 80 | |
Chris Lattner | 2042302 | 2004-08-02 21:29:20 +0000 | [diff] [blame] | 81 | <ul> |
| 82 | <li><a href="ProgrammersManual.html">The LLVM Programmers Manual</a> - |
| 83 | Introduction to the general layout of the LLVM sourcebase, important classes |
| 84 | and APIs, and some tips & tricks.</li> |
John Criswell | 0f6d7c0 | 2003-10-27 18:18:16 +0000 | [diff] [blame] | 85 | |
Chris Lattner | 2042302 | 2004-08-02 21:29:20 +0000 | [diff] [blame] | 86 | <li><a href="Projects.html">LLVM Project Guide</a> - How-to guide and |
| 87 | templates for new projects that <em>use</em> the LLVM infrastructure. The |
| 88 | templates (directory organization, Makefiles, and test tree) allow the project |
| 89 | code to be located outside (or inside) the <tt>llvm/</tt> tree, while using LLVM |
| 90 | header files and libraries.</li> |
John Criswell | 0f6d7c0 | 2003-10-27 18:18:16 +0000 | [diff] [blame] | 91 | |
Chris Lattner | 2042302 | 2004-08-02 21:29:20 +0000 | [diff] [blame] | 92 | <li><a href="CommandLine.html">CommandLine library Reference Manual</a> - |
| 93 | Provides information on using the command line parsing library.</li> |
John Criswell | 0f6d7c0 | 2003-10-27 18:18:16 +0000 | [diff] [blame] | 94 | |
Chris Lattner | 2042302 | 2004-08-02 21:29:20 +0000 | [diff] [blame] | 95 | <li><a href="CodingStandards.html">Recommended LLVM Coding standards</a> - |
| 96 | Details the LLVM coding standards and provides useful information on writing |
| 97 | efficient C++ code.</li> |
Misha Brukman | b69715e | 2004-05-12 18:00:48 +0000 | [diff] [blame] | 98 | |
Chris Lattner | 2042302 | 2004-08-02 21:29:20 +0000 | [diff] [blame] | 99 | <li><a href="OpenProjects.html">Open Projects</a> - Look here if you are |
| 100 | interested in doing something with LLVM but aren't sure what needs to be |
| 101 | done.</li> |
Misha Brukman | b69715e | 2004-05-12 18:00:48 +0000 | [diff] [blame] | 102 | |
Chris Lattner | 2042302 | 2004-08-02 21:29:20 +0000 | [diff] [blame] | 103 | <li><a href="ExtendingLLVM.html">Extending LLVM</a> - Look here to see how |
| 104 | to add instructions and intrinsics to LLVM.</li> |
Misha Brukman | b69715e | 2004-05-12 18:00:48 +0000 | [diff] [blame] | 105 | |
Chris Lattner | 2042302 | 2004-08-02 21:29:20 +0000 | [diff] [blame] | 106 | <li><a href="CodingStandards.html">Coding Standards</a> - Guidelines for |
| 107 | hacking LLVM source.</li> |
Misha Brukman | b69715e | 2004-05-12 18:00:48 +0000 | [diff] [blame] | 108 | |
Chris Lattner | 2042302 | 2004-08-02 21:29:20 +0000 | [diff] [blame] | 109 | <li><a href="http://llvm.cs.uiuc.edu/doxygen/">Doxygen generated |
| 110 | documentation</a> (<a href="http://llvm.cs.uiuc.edu/doxygen/inherits.html"> |
| 111 | classes</a>)</li> |
Misha Brukman | b69715e | 2004-05-12 18:00:48 +0000 | [diff] [blame] | 112 | |
Chris Lattner | 2042302 | 2004-08-02 21:29:20 +0000 | [diff] [blame] | 113 | <li><a href="http://llvm.cs.uiuc.edu/cvsweb/cvsweb.cgi/llvm">CVSWeb CVS Tree |
| 114 | Browser</a></li> |
John Criswell | 0f6d7c0 | 2003-10-27 18:18:16 +0000 | [diff] [blame] | 115 | |
Chris Lattner | 2042302 | 2004-08-02 21:29:20 +0000 | [diff] [blame] | 116 | </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 |
| 125 | on how to write LLVM transformations and analyses.</li> |
| 126 | |
| 127 | <li><a href="CodeGenerator.html">The LLVM Target-Independent Code |
| 128 | Generator</a> - The design and implementation of the LLVM code generator. |
| 129 | Useful if you are working on retargetting LLVM to a new architecture, designing |
| 130 | a new codegen pass, or enhancing existing components.</li> |
| 131 | |
| 132 | <li><a href="TableGenFundamentals.html">TableGen Fundamentals</a> - |
| 133 | Describes the TableGen tool, which is used heavily by the LLVM code |
| 134 | generator.</li> |
| 135 | |
| 136 | <li><a href="AliasAnalysis.html">Alias Analysis in LLVM</a> - Information |
| 137 | on how to write a new alias analysis implementation or how to use existing |
| 138 | analyses.</li> |
| 139 | |
| 140 | <li><a href="Stacker.html">The Stacker Cronicles</a> - This document |
| 141 | describes both the Stacker language and LLVM frontend, but also some details |
| 142 | about LLVM useful for those writing front-ends.</li> |
| 143 | |
| 144 | <li><a href="GarbageCollection.html">Accurate Garbage Collection with |
| 145 | LLVM</a> - The interfaces source-language compilers should use for compiling |
| 146 | GC'd programs.</li> |
| 147 | |
| 148 | <li><a href="SourceLevelDebugging.html">Source Level Debugging with |
| 149 | LLVM</a> - This document describes the design and philosophy behind the LLVM |
| 150 | source-level debugger.</li> |
| 151 | |
| 152 | <li><a href="Bugpoint.html">Bugpoint</a> automatic bug finder and |
| 153 | test-case reducer description and usage information.</li> |
| 154 | |
| 155 | </ul> |
| 156 | |
| 157 | <!--=======================================================================--> |
Chris Lattner | 354a442 | 2004-08-02 21:32:08 +0000 | [diff] [blame^] | 158 | <div class="doc_section"><a name="maillist">LLVM Mailing Lists</a></div> |
Chris Lattner | 2042302 | 2004-08-02 21:29:20 +0000 | [diff] [blame] | 159 | <!--=======================================================================--> |
| 160 | |
| 161 | <ul> |
| 162 | <li>The <a href="http://mail.cs.uiuc.edu/mailman/listinfo/llvm-announce"> |
| 163 | LLVM Announcements List</a>: This is a low volume list that provides important |
| 164 | announcements 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 |
| 167 | List</a>: This list is for people who want to be included in technical |
| 168 | discussions of LLVM. People post to this list when they have questions about |
| 169 | writing 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 & |
| 172 | Patches Archive</a>: This list gets emailed every time a bug is opened and |
| 173 | closed, and when people submit patches to be included in LLVM. It is higher |
| 174 | volume than the LLVMdev list.</li> |
| 175 | |
| 176 | <li>The <a href="http://mail.cs.uiuc.edu/pipermail/llvm-commits/">CVS Commits |
| 177 | Archive</a>: This list contains all commit messages that are made when LLVM |
| 178 | developers commit code changes to the CVS archive. It is useful for those who |
| 179 | want to stay on the bleeding edge of LLVM development. This list is very high |
| 180 | volume.</li> |
| 181 | |
| 182 | </ul> |
John Criswell | 0f6d7c0 | 2003-10-27 18:18:16 +0000 | [diff] [blame] | 183 | |
Misha Brukman | b69715e | 2004-05-12 18:00:48 +0000 | [diff] [blame] | 184 | <!-- *********************************************************************** --> |
John Criswell | 0f6d7c0 | 2003-10-27 18:18:16 +0000 | [diff] [blame] | 185 | |
| 186 | <hr> |
Misha Brukman | b69715e | 2004-05-12 18:00:48 +0000 | [diff] [blame] | 187 | <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 Criswell | 0f6d7c0 | 2003-10-27 18:18:16 +0000 | [diff] [blame] | 192 | |
Misha Brukman | b69715e | 2004-05-12 18:00:48 +0000 | [diff] [blame] | 193 | <a href="http://llvm.cs.uiuc.edu">LLVM Compiler Infrastructure</a><br> |
| 194 | Last modified: $Date$ |
| 195 | </address> |
Misha Brukman | 1e07e0c | 2004-04-06 04:22:43 +0000 | [diff] [blame] | 196 | |