mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 10:42:39 +01:00
[docs] Convert docs index page into Sphinx.
- Work in progress, this is mostly important because it lets us incrementally migrate the remaining documentation. - Lots of styling, editing, and integration work yet to come… - PR12589 llvm-svn: 155133
This commit is contained in:
parent
5a90abbbfc
commit
7facd81967
@ -626,6 +626,8 @@ define i8 @coerce_offset0(i32 %V, i32* %P) {
|
||||
|
||||
<div>
|
||||
|
||||
<!-- {% raw %} -->
|
||||
|
||||
<p>The CHECK: and CHECK-NOT: directives both take a pattern to match. For most
|
||||
uses of FileCheck, fixed string matching is perfectly sufficient. For some
|
||||
things, a more flexible form of matching is desired. To support this, FileCheck
|
||||
@ -650,6 +652,8 @@ braces like you would in C. In the rare case that you want to match double
|
||||
braces explicitly from the input, you can use something ugly like
|
||||
<b>{{[{][{]}}</b> as your pattern.</p>
|
||||
|
||||
<!-- {% endraw %} -->
|
||||
|
||||
</div>
|
||||
|
||||
<!-- _______________________________________________________________________ -->
|
||||
@ -659,6 +663,9 @@ braces explicitly from the input, you can use something ugly like
|
||||
|
||||
<div>
|
||||
|
||||
|
||||
<!-- {% raw %} -->
|
||||
|
||||
<p>It is often useful to match a pattern and then verify that it occurs again
|
||||
later in the file. For codegen tests, this can be useful to allow any register,
|
||||
but verify that that register is used consistently later. To do this, FileCheck
|
||||
@ -690,6 +697,8 @@ that FileCheck is not actually line-oriented when it matches, this allows you to
|
||||
define two separate CHECK lines that match on the same line.
|
||||
</p>
|
||||
|
||||
<!-- {% endraw %} -->
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
50
docs/_templates/index.html
vendored
50
docs/_templates/index.html
vendored
@ -1,50 +0,0 @@
|
||||
{# This template defines the 'index.html' page which we currently only use as
|
||||
the entry point to the HTML-based documentation, but later can use to provide
|
||||
an entry point for a Sphinx based LLVM website.
|
||||
|
||||
Conceptually, this page is not supposed to be part of the documentation per
|
||||
se (i.e., the content that would be rendered into a PDF, for example), but
|
||||
rather provides entry points into the documentation and links to other
|
||||
content which would only be part of the website. #}
|
||||
|
||||
{% extends "layout.html" %}
|
||||
{% set title = 'lld' %}
|
||||
{% block body %}
|
||||
<h1>LLVM System Documentation</h1>
|
||||
|
||||
<p class="doc_warning">
|
||||
This is the front page for the Sphinx-based LLVM documentation. This is
|
||||
currently a work in progress.
|
||||
</p>
|
||||
|
||||
<h2>Documentation</h2>
|
||||
<table class="contentstable" align="center" style="margin-left: 30px">
|
||||
<tr>
|
||||
<td width="50%">
|
||||
<p class="biglink"><a class="biglink" href="{{ pathto('contents') }}">
|
||||
Contents</a><br/>
|
||||
<span class="linkdescr">for a complete overview</span></p>
|
||||
<p class="biglink"><a class="biglink" href="{{ pathto('search') }}">
|
||||
Search page</a><br/>
|
||||
<span class="linkdescr">search the documentation</span></p>
|
||||
<p class="biglink"><a class="biglink" href="{{ pathto('genindex') }}">
|
||||
General Index</a><br/>
|
||||
<span class="linkdescr">all functions, classes, terms</span></p>
|
||||
</td></tr>
|
||||
</table>
|
||||
|
||||
<h2>Source</h2>
|
||||
<p>LLVM is available via public SVN repository:
|
||||
<tt>svn co
|
||||
<a href="http://llvm.org/svn/llvm-project/llvm/trunk">
|
||||
http://llvm.org/svn/llvm-project/llvm/trunk</a></tt>.</p>
|
||||
|
||||
<p>LLVM source can be browsed
|
||||
via <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk">ViewVC</a>.</p>
|
||||
|
||||
<p>LLVM is also available via a read-only git mirror:
|
||||
<tt>git clone
|
||||
<a href="http://llvm.org/git/llvm.git">
|
||||
http://llvm.org/git/llvm.git</a></tt>.</p>
|
||||
|
||||
{% endblock %}
|
4
docs/_templates/layout.html
vendored
4
docs/_templates/layout.html
vendored
@ -8,6 +8,6 @@
|
||||
{% endblock %}
|
||||
|
||||
{% block rootrellink %}
|
||||
<li><a href="{{ pathto('index') }}">LLVM Home</a> | </li>
|
||||
<li><a href="{{ pathto('contents') }}">Documentation</a>»</li>
|
||||
<li><a href="http://llvm.org/">LLVM Home</a> | </li>
|
||||
<li><a href="{{ pathto('index') }}">Documentation</a>»</li>
|
||||
{% endblock %}
|
||||
|
17
docs/conf.py
17
docs/conf.py
@ -36,7 +36,7 @@ source_suffix = '.rst'
|
||||
#source_encoding = 'utf-8-sig'
|
||||
|
||||
# The master toctree document.
|
||||
master_doc = 'contents'
|
||||
master_doc = 'index'
|
||||
|
||||
# General information about the project.
|
||||
project = u'LLVM'
|
||||
@ -134,7 +134,14 @@ html_sidebars = {'index': 'indexsidebar.html'}
|
||||
|
||||
# Additional templates that should be rendered to pages, maps page names to
|
||||
# template names.
|
||||
html_additional_pages = {'index': 'index.html'}
|
||||
#
|
||||
# We load all the old-school HTML documentation pages into Sphinx here.
|
||||
basedir = os.path.dirname(__file__)
|
||||
html_additional_pages = {}
|
||||
for file in os.listdir(basedir):
|
||||
if file.endswith('.html'):
|
||||
name,_ = os.path.splitext(file)
|
||||
html_additional_pages[name] = file
|
||||
|
||||
# If false, no module index is generated.
|
||||
#html_domain_indices = True
|
||||
@ -182,7 +189,7 @@ latex_elements = {
|
||||
# Grouping the document tree into LaTeX files. List of tuples
|
||||
# (source start file, target name, title, author, documentclass [howto/manual]).
|
||||
latex_documents = [
|
||||
('contents', 'LLVM.tex', u'LLVM Documentation',
|
||||
('index', 'LLVM.tex', u'LLVM Documentation',
|
||||
u'LLVM project', 'manual'),
|
||||
]
|
||||
|
||||
@ -212,7 +219,7 @@ latex_documents = [
|
||||
# One entry per manual page. List of tuples
|
||||
# (source start file, name, description, authors, manual section).
|
||||
man_pages = [
|
||||
('contents', 'LLVM', u'LLVM Documentation',
|
||||
('index', 'LLVM', u'LLVM Documentation',
|
||||
[u'LLVM project'], 1)
|
||||
]
|
||||
|
||||
@ -226,7 +233,7 @@ man_pages = [
|
||||
# (source start file, target name, title, author,
|
||||
# dir menu entry, description, category)
|
||||
texinfo_documents = [
|
||||
('contents', 'LLVM', u'LLVM Documentation',
|
||||
('index', 'LLVM', u'LLVM Documentation',
|
||||
u'LLVM project', 'LLVM', 'One line description of project.',
|
||||
'Miscellaneous'),
|
||||
]
|
||||
|
@ -1,13 +0,0 @@
|
||||
.. _contents:
|
||||
|
||||
Contents
|
||||
========
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Indices and tables
|
||||
==================
|
||||
|
||||
* :ref:`genindex`
|
||||
* :ref:`search`
|
31
docs/design_and_overview.rst
Normal file
31
docs/design_and_overview.rst
Normal file
@ -0,0 +1,31 @@
|
||||
.. _design_and_overview:
|
||||
|
||||
LLVM Design & Overview
|
||||
======================
|
||||
|
||||
* `LLVM Language Reference Manual <LangRef.html>`_
|
||||
|
||||
Defines the LLVM intermediate representation.
|
||||
|
||||
* `Introduction to the LLVM Compiler <http://llvm.org/pubs/2008-10-04-ACAT-LLVM-Intro.html>`_
|
||||
|
||||
Presentation providing a users introduction to LLVM.
|
||||
|
||||
* `Intro to LLVM <http://www.aosabook.org/en/llvm.html>`_
|
||||
|
||||
Book chapter providing a compiler hacker's introduction to LLVM.
|
||||
|
||||
* `LLVM: A Compilation Framework forLifelong Program Analysis & Transformation
|
||||
<http://llvm.org/pubs/2004-01-30-CGO-LLVM.html>`_
|
||||
|
||||
Design overview.
|
||||
|
||||
* `LLVM: An Infrastructure for Multi-Stage Optimization
|
||||
<http://llvm.org/pubs/2002-12-LattnerMSThesis.html>`_
|
||||
|
||||
More details (quite old now).
|
||||
|
||||
* `GetElementPtr FAQ <GetElementPtr.html>`_
|
||||
|
||||
Answers to some very frequent questions about LLVM's most frequently
|
||||
misunderstood instruction.
|
24
docs/development_process.rst
Normal file
24
docs/development_process.rst
Normal file
@ -0,0 +1,24 @@
|
||||
.. _development_process:
|
||||
|
||||
Development Process Documentation
|
||||
=================================
|
||||
|
||||
* `LLVM Project Guide <Projects.html>`_
|
||||
|
||||
How-to guide and templates for new projects that *use* the LLVM
|
||||
infrastructure. The templates (directory organization, Makefiles, and test
|
||||
tree) allow the project code to be located outside (or inside) the ``llvm/``
|
||||
tree, while using LLVM header files and libraries.
|
||||
|
||||
* `LLVMBuild Documentation <LLVMBuild.html>`_
|
||||
|
||||
Describes the LLVMBuild organization and files used by LLVM to specify
|
||||
component descriptions.
|
||||
|
||||
* `LLVM Makefile Guide <MakefileGuide.html>`_
|
||||
|
||||
Describes how the LLVM makefiles work and how to use them.
|
||||
|
||||
* `How To Release LLVM To The Public <HowToReleaseLLVM.html>`_
|
||||
|
||||
This is a guide to preparing LLVM releases. Most developers can ignore it.
|
286
docs/index.html
286
docs/index.html
@ -1,286 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
|
||||
"http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<title>Documentation for the LLVM System at SVN head</title>
|
||||
<link rel="stylesheet" href="llvm.css" type="text/css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>Documentation for the LLVM System at SVN head</h1>
|
||||
|
||||
<p class="doc_warning">If you are using a released version of LLVM,
|
||||
see <a href="http://llvm.org/releases/">the download page</a> to find
|
||||
your documentation.</p>
|
||||
|
||||
<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">LLVM Programming Documentation</a></li>
|
||||
<li><a href="#subsystems">LLVM Subsystem Documentation</a></li>
|
||||
<li><a href="#develprocess">LLVM Development Process 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>
|
||||
<p>
|
||||
<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">
|
||||
</p>
|
||||
</form>
|
||||
</td></tr></table>
|
||||
|
||||
<div class="doc_author">
|
||||
<p>Written by <a href="http://llvm.org/">The LLVM Team</a></p>
|
||||
</div>
|
||||
|
||||
<!--=======================================================================-->
|
||||
<h2><a name="llvmdesign">LLVM Design & Overview</a></h2>
|
||||
<!--=======================================================================-->
|
||||
|
||||
<ul>
|
||||
<li><a href="LangRef.html">LLVM Language Reference Manual</a> - Defines the LLVM
|
||||
intermediate representation.</li>
|
||||
<li><a href="http://llvm.org/pubs/2008-10-04-ACAT-LLVM-Intro.html">Introduction to the LLVM Compiler </a> - Presentation providing a users introduction to LLVM.</li>
|
||||
<li><a href="http://www.aosabook.org/en/llvm.html">Intro to LLVM</a> - book chapter providing a compiler hacker's introduction to LLVM.</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 (quite 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>
|
||||
|
||||
<!--=======================================================================-->
|
||||
<h2><a name="userguide">LLVM User Guides</a></h2>
|
||||
<!--=======================================================================-->
|
||||
|
||||
<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="CMake.html">LLVM CMake guide</a> - An addendum to the main Getting
|
||||
Started guide for those using the <a href="http://www.cmake.org/">CMake build
|
||||
system</a>.
|
||||
</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="CommandGuide/index.html">LLVM Command Guide</a> - A reference
|
||||
manual for the LLVM command line utilities ("man" pages for LLVM tools).</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="http://clang.llvm.org/get_started.html">How to build the C, C++, ObjC,
|
||||
and ObjC++ front end</a> - Instructions for building the clang front-end from
|
||||
source.</li>
|
||||
|
||||
<li><a href="Packaging.html">Packaging guide</a> - Advice on packaging
|
||||
LLVM into a distribution.</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>
|
||||
|
||||
<li><a href="HowToAddABuilder.html">How To Add Your Build Configuration
|
||||
To LLVM Buildbot Infrastructure</a> - Instructions for adding new builder to
|
||||
LLVM buildbot master.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<!--=======================================================================-->
|
||||
<h2><a name="llvmprog">LLVM Programming Documentation</a></h2>
|
||||
<!--=======================================================================-->
|
||||
|
||||
<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="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="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>
|
||||
|
||||
<!--=======================================================================-->
|
||||
<h2><a name="subsystems">LLVM Subsystem Documentation</a></h2>
|
||||
<!--=======================================================================-->
|
||||
|
||||
<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="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>
|
||||
|
||||
<li><a href="GoldPlugin.html">The LLVM gold plugin</a> - How to build your
|
||||
programs with link-time optimization on Linux.</li>
|
||||
|
||||
<li><a href="DebuggingJITedCode.html">The GDB JIT interface</a> - How to debug
|
||||
JITed code with GDB.</li>
|
||||
|
||||
<li><a href="BranchWeightMetadata.html">Branch Weight Metadata</a> - Provides
|
||||
information about Branch Prediction Information.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<!--=======================================================================-->
|
||||
<h2><a name="develprocess">LLVM Development Process Documentation</a></h2>
|
||||
<!--=======================================================================-->
|
||||
|
||||
<ul>
|
||||
|
||||
<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="LLVMBuild.html">LLVMBuild Documentation</a> - Describes the
|
||||
LLVMBuild organization and files used by LLVM to specify component
|
||||
descriptions.</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="HowToReleaseLLVM.html">How To Release LLVM To The Public</a> - This
|
||||
is a guide to preparing LLVM releases. Most developers can ignore it.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<!--=======================================================================-->
|
||||
<h2><a name="maillist">LLVM Mailing Lists</a></h2>
|
||||
<!--=======================================================================-->
|
||||
|
||||
<ul>
|
||||
<li>The <a href="http://lists.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://lists.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://lists.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://lists.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://lists.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-blue" alt="Valid CSS"></a>
|
||||
<a href="http://validator.w3.org/check/referer"><img
|
||||
src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"></a>
|
||||
|
||||
<a href="http://llvm.org/">LLVM Compiler Infrastructure</a><br>
|
||||
Last modified: $Date$
|
||||
</address>
|
||||
</body></html>
|
70
docs/index.rst
Normal file
70
docs/index.rst
Normal file
@ -0,0 +1,70 @@
|
||||
.. _contents:
|
||||
|
||||
Overview
|
||||
========
|
||||
|
||||
.. warning::
|
||||
|
||||
If you are using a released version of LLVM, see `the download page
|
||||
<http://llvm.org/releases/>`_ to find your documentation.
|
||||
|
||||
The LLVM compiler infrastructure supports a wide range of projects, from
|
||||
industrial strength compilers to specialized JIT applications to small
|
||||
research projects.
|
||||
|
||||
Similarly, documentation is broken down into several high-level groupings
|
||||
targetted at different audiences:
|
||||
|
||||
* **Design & Overview**
|
||||
|
||||
Several introductory papers and presentations are available at
|
||||
:ref:`design_and_overview`.
|
||||
|
||||
* **Publications**
|
||||
|
||||
The list of `publications <http://llvm.org/pubs>`_ based on LLVM.
|
||||
|
||||
* **User Guides**
|
||||
|
||||
Those new to the LLVM system should first vist the :ref:`userguides`.
|
||||
|
||||
NOTE: If you are a user who is only interested in using LLVM-based
|
||||
compilers, you should look into `Clang <http://clang.llvm.org>`_ or
|
||||
`DragonEgg <http://dragonegg.llvm.org>`_ instead. The documentation here is
|
||||
intended for users who have a need to work with the intermediate LLVM
|
||||
representation.
|
||||
|
||||
* **API Clients**
|
||||
|
||||
Developers of applications which use LLVM as a library should visit the
|
||||
:ref:`programming`.
|
||||
|
||||
* **Subsystems**
|
||||
|
||||
API clients and LLVM developers may be interested in the
|
||||
:ref:`subsystems` documentation.
|
||||
|
||||
* **Development Process**
|
||||
|
||||
Additional documentation on the LLVM project can be found at
|
||||
:ref:`development_process`.
|
||||
|
||||
* **Mailing Lists**
|
||||
|
||||
For more information, consider consulting the LLVM :ref:`mailing_lists`.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
design_and_overview
|
||||
userguides
|
||||
programming
|
||||
subsystems
|
||||
development_process
|
||||
mailing_lists
|
||||
|
||||
Indices and tables
|
||||
==================
|
||||
|
||||
* :ref:`genindex`
|
||||
* :ref:`search`
|
35
docs/mailing_lists.rst
Normal file
35
docs/mailing_lists.rst
Normal file
@ -0,0 +1,35 @@
|
||||
.. _mailing_lists:
|
||||
|
||||
Mailing Lists
|
||||
=============
|
||||
|
||||
* `LLVM Announcements List
|
||||
<http://lists.cs.uiuc.edu/mailman/listinfo/llvm-announce>`_
|
||||
|
||||
This is a low volume list that provides important announcements regarding
|
||||
LLVM. It gets email about once a month.
|
||||
|
||||
* `Developer's List <http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev>`_
|
||||
|
||||
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.
|
||||
|
||||
* `Bugs & Patches Archive <http://lists.cs.uiuc.edu/pipermail/llvmbugs/>`_
|
||||
|
||||
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.
|
||||
|
||||
* `Commits Archive <http://lists.cs.uiuc.edu/pipermail/llvm-commits/>`_
|
||||
|
||||
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.
|
||||
|
||||
* `Test Results Archive
|
||||
<http://lists.cs.uiuc.edu/pipermail/llvm-testresults/>`_
|
||||
|
||||
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.
|
34
docs/programming.rst
Normal file
34
docs/programming.rst
Normal file
@ -0,0 +1,34 @@
|
||||
.. _programming:
|
||||
|
||||
Programming Documentation
|
||||
=========================
|
||||
|
||||
* `LLVM Language Reference Manual <LangRef.html>`_
|
||||
|
||||
Defines the LLVM intermediate representation and the assembly form of the
|
||||
different nodes.
|
||||
|
||||
* `The LLVM Programmers Manual <ProgrammersManual.html>`_
|
||||
|
||||
Introduction to the general layout of the LLVM sourcebase, important classes
|
||||
and APIs, and some tips & tricks.
|
||||
|
||||
* `CommandLine library Reference Manual <CommandLine.html>`_
|
||||
|
||||
Provides information on using the command line parsing library.
|
||||
|
||||
* `LLVM Coding standards <CodingStandards.html>`_
|
||||
|
||||
Details the LLVM coding standards and provides useful information on writing
|
||||
efficient C++ code.
|
||||
|
||||
* `Extending LLVM <ExtendingLLVM.html>`_
|
||||
|
||||
Look here to see how to add instructions and intrinsics to LLVM.
|
||||
|
||||
* `Doxygen generated documentation <http://llvm.org/doxygen/>`_
|
||||
|
||||
(`classes <http://llvm.org/doxygen/inherits.html>`_)
|
||||
(`tarball <http://llvm.org/doxygen/doxygen.tar.gz>`_)
|
||||
|
||||
* `ViewVC Repository Browser <http://llvm.org/viewvc/>`_
|
74
docs/subsystems.rst
Normal file
74
docs/subsystems.rst
Normal file
@ -0,0 +1,74 @@
|
||||
.. _subsystems:
|
||||
|
||||
Subsystem Documentation
|
||||
=======================
|
||||
|
||||
* `Writing an LLVM Pass <WritingAnLLVMPass.html>`_
|
||||
|
||||
Information on how to write LLVM transformations and analyses.
|
||||
|
||||
* `Writing an LLVM Backend <WritingAnLLVMBackend.html>`_
|
||||
|
||||
Information on how to write LLVM backends for machine targets.
|
||||
|
||||
* `The LLVM Target-Independent Code Generator <CodeGenerator.html>`_
|
||||
|
||||
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.
|
||||
|
||||
* `TableGen Fundamentals <TableGenFundamentals.html>`_
|
||||
|
||||
Describes the TableGen tool, which is used heavily by the LLVM code
|
||||
generator.
|
||||
|
||||
* `Alias Analysis in LLVM <AliasAnalysis.html>`_
|
||||
|
||||
Information on how to write a new alias analysis implementation or how to
|
||||
use existing analyses.
|
||||
|
||||
* `Accurate Garbage Collection with LLVM <GarbageCollection.html>`_
|
||||
|
||||
The interfaces source-language compilers should use for compiling GC'd
|
||||
programs.
|
||||
|
||||
* `Source Level Debugging with LLVM <SourceLevelDebugging.html>`_
|
||||
|
||||
This document describes the design and philosophy behind the LLVM
|
||||
source-level debugger.
|
||||
|
||||
* `Zero Cost Exception handling in LLVM <ExceptionHandling.html>`_
|
||||
|
||||
This document describes the design and implementation of exception handling
|
||||
in LLVM.
|
||||
|
||||
* `Bugpoint <Bugpoint.html>`_
|
||||
|
||||
Automatic bug finder and test-case reducer description and usage
|
||||
information.
|
||||
|
||||
* `LLVM Bitcode File Format <BitCodeFormat.html>`_
|
||||
|
||||
This describes the file format and encoding used for LLVM "bc" files.
|
||||
|
||||
* `System Library <SystemLibrary.html>`_
|
||||
|
||||
This document describes the LLVM System Library (<tt>lib/System</tt>) and
|
||||
how to keep LLVM source code portable
|
||||
|
||||
* `Link Time Optimization <LinkTimeOptimization.html>`_
|
||||
|
||||
This document describes the interface between LLVM intermodular optimizer
|
||||
and the linker and its design
|
||||
|
||||
* `The LLVM gold plugin <GoldPlugin.html>`_
|
||||
|
||||
How to build your programs with link-time optimization on Linux.
|
||||
|
||||
* `The GDB JIT interface <DebuggingJITedCode.html>`_
|
||||
|
||||
How to debug JITed code with GDB.
|
||||
|
||||
* `Branch Weight Metadata <BranchWeightMetadata.html>`_
|
||||
|
||||
Provides information about Branch Prediction Information.
|
78
docs/userguides.rst
Normal file
78
docs/userguides.rst
Normal file
@ -0,0 +1,78 @@
|
||||
.. _userguides:
|
||||
|
||||
User Guides
|
||||
===========
|
||||
|
||||
* `The LLVM Getting Started Guide <GettingStarted.html>`_
|
||||
|
||||
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.
|
||||
|
||||
* `LLVM CMake guide <CMake.html>`_
|
||||
|
||||
An addendum to the main Getting Started guide for those using the `CMake
|
||||
build system <http://www.cmake.org>`_.
|
||||
|
||||
* `Getting Started with the LLVM System using Microsoft Visual Studio
|
||||
<GettingStartedVS.html>`_
|
||||
|
||||
An addendum to the main Getting Started guide for those using Visual Studio
|
||||
on Windows.
|
||||
|
||||
* `LLVM Tutorial <tutorial/>`_
|
||||
|
||||
A walk through the process of using LLVM for a custom language, and the
|
||||
facilities LLVM offers in tutorial form.
|
||||
|
||||
* `Developer Policy <DeveloperPolicy.html>`_
|
||||
|
||||
The LLVM project's policy towards developers and their contributions.
|
||||
|
||||
* `LLVM Command Guide <CommandGuide/index.html>`_
|
||||
|
||||
A reference manual for the LLVM command line utilities ("man" pages for LLVM
|
||||
tools).
|
||||
|
||||
* `LLVM's Analysis and Transform Passes <Passes.html>`_
|
||||
|
||||
A list of optimizations and analyses implemented in LLVM.
|
||||
|
||||
* `Frequently Asked Questions <FAQ.html>`_
|
||||
|
||||
A list of common questions and problems and their solutions.
|
||||
|
||||
* `Release notes for the current release <ReleaseNotes.html>`_
|
||||
|
||||
This describes new features, known bugs, and other limitations.
|
||||
|
||||
* `How to Submit A Bug Report <HowToSubmitABug.html>`_
|
||||
|
||||
Instructions for properly submitting information about any bugs you run into
|
||||
in the LLVM system.
|
||||
|
||||
* `LLVM Testing Infrastructure Guide <TestingGuide.html>`_
|
||||
|
||||
A reference manual for using the LLVM testing infrastructure.
|
||||
|
||||
* `How to build the C, C++, ObjC, and ObjC++ front end <http://clang.llvm.org/get_started.html>`_
|
||||
|
||||
Instructions for building the clang front-end from source.
|
||||
|
||||
* `Packaging guide <Packaging.html>`_
|
||||
|
||||
Advice on packaging LLVM into a distribution.
|
||||
|
||||
* `The LLVM Lexicon <Lexicon.html>`_
|
||||
|
||||
Definition of acronyms, terms and concepts used in LLVM.
|
||||
|
||||
* `How To Add Your Build Configuration To LLVM Buildbot Infrastructure <HowToAddABuilder.html>`_
|
||||
|
||||
Instructions for adding new builder to LLVM buildbot master.
|
||||
|
||||
* **IRC** -- You can probably find help on the unofficial LLVM IRC.
|
||||
|
||||
We often are on irc.oftc.net in the #llvm channel. If you are using the
|
||||
mozilla browser, and have chatzilla installed, you can `join #llvm on
|
||||
irc.oftc.net <irc://irc.oftc.net/llvm>`_.
|
Loading…
Reference in New Issue
Block a user