|  | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" | 
|  | "http://www.w3.org/TR/html4/strict.dtd"> | 
|  | <html> | 
|  | <head> | 
|  | <title>Documentation for the LLVM System</title> | 
|  | <link rel="stylesheet" href="llvm.css" type="text/css"> | 
|  | </head> | 
|  | <body> | 
|  |  | 
|  | <div class="doc_title">Documentation for the LLVM System</div> | 
|  |  | 
|  | <div class="doc_text"> | 
|  | <table class="layout" width="95%"><tr class="layout"><td class="left"> | 
|  | <ul> | 
|  | <li><a href="#llvmdesign">LLVM Design</a></li> | 
|  | <li><a href="/pubs/">LLVM Publications</a></li> | 
|  | <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> | 
|  | <li><a href="#maillist">LLVM Mailing Lists</a></li> | 
|  | </ul> | 
|  | </td><td class="right"> | 
|  | <form action="http://www.google.com/search" method=get> | 
|  | <input type="hidden" name="sitesearch" value="llvm.org/docs"> | 
|  | <input type=text name=q size=25><br> | 
|  | <input type=submit value="Search the LLVM Docs" name="submit"> | 
|  | </form> | 
|  | </td></tr></table> | 
|  | </div> | 
|  |  | 
|  | <div class="doc_author"> | 
|  | <p>Written by <a href="http://llvm.org">The LLVM Team</a></p> | 
|  | </div> | 
|  |  | 
|  | <!--=======================================================================--> | 
|  | <div class="doc_section"><a name="llvmdesign">LLVM Design & Overview</a></div> | 
|  | <!--=======================================================================--> | 
|  |  | 
|  | <ul> | 
|  | <li><a href="LangRef.html">LLVM Language Reference Manual</a> - Defines the LLVM | 
|  | intermediate representation.</li> | 
|  | <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> | 
|  | <li><a href="GetElementPtr.html">GetElementPtr FAQ</a> - Answers to some very | 
|  | frequent questions about LLVM's most frequently misunderstood instruction.</li> | 
|  | </ul> | 
|  |  | 
|  | <!--=======================================================================--> | 
|  | <div class="doc_section"><a name="userguide">LLVM User Guides</a></div> | 
|  | <!--=======================================================================--> | 
|  |  | 
|  | <ul> | 
|  | <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> | 
|  |  | 
|  | <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> | 
|  |  | 
|  | <li><a href="tutorial/">LLVM Tutorial</a> - A walk through the process of using | 
|  | LLVM for a custom language, and the facilities LLVM offers in tutorial form.</li> | 
|  | <li><a href="DeveloperPolicy.html">Developer Policy</a> - The LLVM project's | 
|  | policy towards developers and their contributions.</li> | 
|  |  | 
|  | <li><a href="/docs/CommandGuide/index.html">LLVM Command Guide</a> - A reference | 
|  | manual for the LLVM command line utilities ("man" pages for LLVM tools).<br/> | 
|  | Current tools: | 
|  | <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>, | 
|  | </li> | 
|  |  | 
|  | <li><a href="Passes.html">LLVM's Analysis and Transform Passes</a> - A list of | 
|  | optimizations and analyses implemented in LLVM.</li> | 
|  |  | 
|  | <li><a href="FAQ.html">Frequently Asked Questions</a> - A list of common | 
|  | questions and problems and their solutions.</li> | 
|  |  | 
|  | <li><a href="ReleaseNotes.html">Release notes for the current release</a> | 
|  | - This describes new features, known bugs, and other limitations.</li> | 
|  |  | 
|  | <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> | 
|  |  | 
|  | <li><a href="TestingGuide.html">LLVM Testing Infrastructure Guide</a> - A reference | 
|  | manual for using the LLVM testing infrastructure.</li> | 
|  |  | 
|  | <li><a href="GCCFEBuildInstrs.html">How to build the C/C++ front-end</a> - | 
|  | Instructions for building the front-end from source.</li> | 
|  |  | 
|  | <li><a href="Lexicon.html">The LLVM Lexicon</a> - Definition of acronyms, terms | 
|  | and concepts used in LLVM.</li> | 
|  |  | 
|  | <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 | 
|  | href="irc://irc.oftc.net/llvm">join #llvm on irc.oftc.net</a> directly.</li> | 
|  |  | 
|  | </ul> | 
|  |  | 
|  |  | 
|  | <!--=======================================================================--> | 
|  | <div class="doc_section"><a name="llvmprog">General LLVM Programming Documentation</a></div> | 
|  | <!--=======================================================================--> | 
|  |  | 
|  | <ul> | 
|  | <li><a href="LangRef.html">LLVM Language Reference Manual</a> - Defines the LLVM | 
|  | intermediate representation and the assembly form of the different nodes.</li> | 
|  |  | 
|  | <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> | 
|  |  | 
|  | <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> | 
|  |  | 
|  | <li><a href="MakefileGuide.html">LLVM Makefile Guide</a> - Describes how the | 
|  | LLVM makefiles work and how to use them.</li> | 
|  |  | 
|  | <li><a href="CommandLine.html">CommandLine library Reference Manual</a> - | 
|  | Provides information on using the command line parsing library.</li> | 
|  |  | 
|  | <li><a href="CodingStandards.html">LLVM Coding standards</a> - | 
|  | Details the LLVM coding standards and provides useful information on writing | 
|  | efficient C++ code.</li> | 
|  |  | 
|  | <li><a href="ExtendingLLVM.html">Extending LLVM</a> - Look here to see how | 
|  | to add instructions and intrinsics to LLVM.</li> | 
|  |  | 
|  | <li><a href="UsingLibraries.html">Using LLVM Libraries</a> - Look here to | 
|  | understand how to use the libraries produced when LLVM is compiled.</li> | 
|  |  | 
|  | <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> | 
|  |  | 
|  | <li><a href="http://llvm.org/doxygen/">Doxygen generated | 
|  | documentation</a> (<a | 
|  | href="http://llvm.org/doxygen/inherits.html">classes</a>) | 
|  |  | 
|  | (<a href="http://llvm.org/doxygen/doxygen.tar.gz">tarball</a>) | 
|  | </li> | 
|  |  | 
|  | <li><a href="http://llvm.org/viewvc/">ViewVC Repository Browser</a></li> | 
|  |  | 
|  | </ul> | 
|  |  | 
|  | <!--=======================================================================--> | 
|  | <div class="doc_section"><a name="subsystems">LLVM Subsystem Documentation</a></div> | 
|  | <!--=======================================================================--> | 
|  |  | 
|  | <ul> | 
|  |  | 
|  | <li><a href="WritingAnLLVMPass.html">Writing an LLVM Pass</a> - Information | 
|  | on how to write LLVM transformations and analyses.</li> | 
|  |  | 
|  | <li><a href="WritingAnLLVMBackend.html">Writing an LLVM Backend</a> - Information | 
|  | on how to write LLVM backends for machine targets.</li> | 
|  |  | 
|  | <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> | 
|  |  | 
|  | <li><a href="TableGenFundamentals.html">TableGen Fundamentals</a> - | 
|  | Describes the TableGen tool, which is used heavily by the LLVM code | 
|  | generator.</li> | 
|  |  | 
|  | <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> | 
|  |  | 
|  | <li><a href="GarbageCollection.html">Accurate Garbage Collection with | 
|  | LLVM</a> - The interfaces source-language compilers should use for compiling | 
|  | GC'd programs.</li> | 
|  |  | 
|  | <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> | 
|  |  | 
|  | <li><a href="ExceptionHandling.html">Zero Cost Exception handling in LLVM</a> | 
|  | - This document describes the design and implementation of exception handling | 
|  | in LLVM.</li> | 
|  |  | 
|  | <li><a href="Bugpoint.html">Bugpoint</a> - automatic bug finder and test-case | 
|  | reducer description and usage information.</li> | 
|  |  | 
|  | <li><a href="CompilerDriver.html">Compiler Driver (llvmc)</a> - This document | 
|  | describes the design and configuration of the LLVM compiler driver tool, | 
|  | <tt>llvmc</tt>.</li> | 
|  |  | 
|  | <li><a href="BitCodeFormat.html">LLVM Bitcode File Format</a> - This describes | 
|  | the file format and encoding used for LLVM "bc" files.</li> | 
|  |  | 
|  | <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> | 
|  |  | 
|  | <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> | 
|  |  | 
|  | </ul> | 
|  |  | 
|  |  | 
|  | <!--=======================================================================--> | 
|  | <div class="doc_section"><a name="maillist">LLVM Mailing Lists</a></div> | 
|  | <!--=======================================================================--> | 
|  |  | 
|  | <ul> | 
|  | <li>The <a href="http://mail.cs.uiuc.edu/mailman/listinfo/llvm-announce"> | 
|  | LLVM Announcements List</a>: This is a low volume list that provides important | 
|  | announcements regarding LLVM.  It gets email about once a month.</li> | 
|  |  | 
|  | <li>The <a href="http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev">Developer's | 
|  | 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 | 
|  | writing code for or using the LLVM tools. It is relatively low volume.</li> | 
|  |  | 
|  | <li>The <a href="http://mail.cs.uiuc.edu/pipermail/llvmbugs/">Bugs & | 
|  | Patches Archive</a>: This list gets emailed every time a bug is opened and | 
|  | closed, and when people submit patches to be included in LLVM.  It is higher | 
|  | volume than the LLVMdev list.</li> | 
|  |  | 
|  | <li>The <a href="http://mail.cs.uiuc.edu/pipermail/llvm-commits/">Commits | 
|  | 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 | 
|  | want to stay on the bleeding edge of LLVM development. This list is very high | 
|  | volume.</li> | 
|  |  | 
|  | <li>The <a href="http://mail.cs.uiuc.edu/pipermail/llvm-testresults/"> | 
|  | Test Results Archive</a>: A message is automatically sent to this list by every | 
|  | active nightly tester when it completes.  As such, this list gets email several | 
|  | times each day, making it a high volume list.</li> | 
|  |  | 
|  | </ul> | 
|  |  | 
|  | <!-- *********************************************************************** --> | 
|  |  | 
|  | <hr> | 
|  | <address> | 
|  | <a href="http://jigsaw.w3.org/css-validator/check/referer"><img | 
|  | src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!"></a> | 
|  | <a href="http://validator.w3.org/check/referer"><img | 
|  | src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!"></a> | 
|  |  | 
|  | <a href="http://llvm.org">LLVM Compiler Infrastructure</a><br> | 
|  | Last modified: $Date$ | 
|  | </address> | 
|  | </body></html> | 
|  |  |