aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorAlexander Kornienko <alexfh@google.com>2013-03-14 10:51:38 +0000
committerAlexander Kornienko <alexfh@google.com>2013-03-14 10:51:38 +0000
commit647735c781c5b37061ee03d6e9e6c7dda92218e2 (patch)
tree5a5e56606d41060263048b5a5586b3d2380898ba /docs
parent6aed25d93d1cfcde5809a73ffa7dc1b0d6396f66 (diff)
parentf635ef401786c84df32090251a8cf45981ecca33 (diff)
Updating branches/google/stable to r176857
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/google/stable@177040 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r--docs/AliasAnalysis.rst39
-rw-r--r--docs/Atomics.rst2
-rw-r--r--docs/BitCodeFormat.rst2
-rw-r--r--docs/BranchWeightMetadata.rst2
-rw-r--r--docs/Bugpoint.rst6
-rw-r--r--docs/CMake.rst22
-rw-r--r--docs/CodeGenerator.rst99
-rw-r--r--docs/CodingStandards.rst32
-rw-r--r--docs/CommandGuide/FileCheck.rst3
-rw-r--r--docs/CommandGuide/index.rst3
-rw-r--r--docs/CommandGuide/lit.rst11
-rw-r--r--docs/CommandGuide/llvm-bcanalyzer.rst221
-rw-r--r--docs/CommandGuide/llvm-symbolizer.rst65
-rw-r--r--docs/CommandLine.rst6
-rw-r--r--docs/CompilerWriterInfo.rst27
-rw-r--r--docs/DebuggingJITedCode.rst4
-rw-r--r--docs/DeveloperPolicy.rst2
-rw-r--r--docs/Dummy.html0
-rw-r--r--docs/ExceptionHandling.rst49
-rw-r--r--docs/ExtendingLLVM.rst2
-rw-r--r--docs/FAQ.rst39
-rw-r--r--docs/GarbageCollection.rst44
-rw-r--r--docs/GetElementPtr.rst2
-rw-r--r--docs/GettingStarted.rst171
-rw-r--r--docs/GettingStartedVS.rst2
-rw-r--r--docs/GoldPlugin.rst4
-rw-r--r--docs/HowToAddABuilder.rst4
-rw-r--r--docs/HowToBuildOnARM.rst14
-rw-r--r--docs/HowToReleaseLLVM.rst29
-rw-r--r--docs/HowToSetUpLLVMStyleRTTI.rst4
-rw-r--r--docs/HowToSubmitABug.rst4
-rw-r--r--docs/HowToUseAttributes.rst81
-rw-r--r--docs/HowToUseInstrMappings.rst4
-rw-r--r--docs/LangRef.rst417
-rw-r--r--docs/Lexicon.rst25
-rw-r--r--docs/LinkTimeOptimization.rst9
-rw-r--r--docs/Makefile.sphinx4
-rw-r--r--docs/MakefileGuide.rst27
-rw-r--r--docs/MarkedUpDisassembly.rst2
-rw-r--r--docs/Packaging.rst2
-rw-r--r--docs/Passes.html2025
-rw-r--r--docs/Passes.rst1261
-rw-r--r--docs/Phabricator.rst6
-rw-r--r--docs/ProgrammersManual.rst41
-rw-r--r--docs/Projects.rst10
-rw-r--r--docs/README.txt42
-rw-r--r--docs/ReleaseNotes.rst567
-rw-r--r--docs/SegmentedStacks.rst2
-rw-r--r--docs/SourceLevelDebugging.rst35
-rw-r--r--docs/SphinxQuickstartTemplate.rst33
-rw-r--r--docs/SystemLibrary.rst2
-rw-r--r--docs/TableGen/LangRef.rst383
-rw-r--r--docs/TableGenFundamentals.rst10
-rw-r--r--docs/TestSuiteMakefileGuide.rst3
-rw-r--r--docs/TestingGuide.rst76
-rw-r--r--docs/Vectorizers.rst338
-rw-r--r--docs/WritingAnLLVMBackend.rst9
-rw-r--r--docs/WritingAnLLVMPass.html1954
-rw-r--r--docs/WritingAnLLVMPass.rst1436
-rw-r--r--docs/YamlIO.rst860
-rw-r--r--docs/conf.py4
-rw-r--r--docs/design_and_overview.rst37
-rw-r--r--docs/development_process.rst32
-rw-r--r--docs/doxygen.footer2
-rw-r--r--docs/gcc-loops.pngbin0 -> 21535 bytes
-rw-r--r--docs/index.rst394
-rw-r--r--docs/linpack-pc.pngbin0 -> 13578 bytes
-rw-r--r--docs/mailing_lists.rst35
-rw-r--r--docs/programming.rst58
-rw-r--r--docs/subsystems.rst114
-rw-r--r--docs/tutorial/LangImpl1.rst2
-rw-r--r--docs/tutorial/LangImpl2.rst2
-rw-r--r--docs/tutorial/LangImpl3.rst2
-rw-r--r--docs/tutorial/LangImpl4.rst2
-rw-r--r--docs/tutorial/LangImpl5.rst2
-rw-r--r--docs/tutorial/LangImpl6.rst2
-rw-r--r--docs/tutorial/LangImpl7.rst2
-rw-r--r--docs/tutorial/LangImpl8.rst2
-rw-r--r--docs/tutorial/OCamlLangImpl1.rst3
-rw-r--r--docs/tutorial/OCamlLangImpl2.rst3
-rw-r--r--docs/tutorial/OCamlLangImpl3.rst3
-rw-r--r--docs/tutorial/OCamlLangImpl4.rst3
-rw-r--r--docs/tutorial/OCamlLangImpl5.rst3
-rw-r--r--docs/tutorial/OCamlLangImpl6.rst3
-rw-r--r--docs/tutorial/OCamlLangImpl7.rst3
-rw-r--r--docs/tutorial/OCamlLangImpl8.rst2
-rw-r--r--docs/tutorial/index.rst13
-rw-r--r--docs/userguides.rst106
-rw-r--r--docs/yaml2obj.rst2
89 files changed, 5778 insertions, 5636 deletions
diff --git a/docs/AliasAnalysis.rst b/docs/AliasAnalysis.rst
index fdaec89cdf..712d57d14b 100644
--- a/docs/AliasAnalysis.rst
+++ b/docs/AliasAnalysis.rst
@@ -1,5 +1,3 @@
-.. _alias_analysis:
-
==================================
LLVM Alias Analysis Infrastructure
==================================
@@ -205,7 +203,7 @@ look at the `various alias analysis implementations`_ included with LLVM.
Different Pass styles
---------------------
-The first step to determining what type of `LLVM pass <WritingAnLLVMPass.html>`_
+The first step to determining what type of :doc:`LLVM pass <WritingAnLLVMPass>`
you need to use for your Alias Analysis. As is the case with most other
analyses and transformations, the answer should be fairly obvious from what type
of problem you are trying to solve:
@@ -253,25 +251,24 @@ Interfaces which may be specified
All of the `AliasAnalysis
<http://llvm.org/doxygen/classllvm_1_1AliasAnalysis.html>`__ virtual methods
-default to providing `chaining`_ to another alias analysis implementation, which
-ends up returning conservatively correct information (returning "May" Alias and
-"Mod/Ref" for alias and mod/ref queries respectively). Depending on the
-capabilities of the analysis you are implementing, you just override the
-interfaces you can improve.
+default to providing :ref:`chaining <aliasanalysis-chaining>` to another alias
+analysis implementation, which ends up returning conservatively correct
+information (returning "May" Alias and "Mod/Ref" for alias and mod/ref queries
+respectively). Depending on the capabilities of the analysis you are
+implementing, you just override the interfaces you can improve.
-.. _chaining:
-.. _chain:
+.. _aliasanalysis-chaining:
``AliasAnalysis`` chaining behavior
-----------------------------------
-With only one special exception (the `no-aa`_ pass) every alias analysis pass
-chains to another alias analysis implementation (for example, the user can
-specify "``-basicaa -ds-aa -licm``" to get the maximum benefit from both alias
-analyses). The alias analysis class automatically takes care of most of this
-for methods that you don't override. For methods that you do override, in code
-paths that return a conservative MayAlias or Mod/Ref result, simply return
-whatever the superclass computes. For example:
+With only one special exception (the :ref:`-no-aa <aliasanalysis-no-aa>` pass)
+every alias analysis pass chains to another alias analysis implementation (for
+example, the user can specify "``-basicaa -ds-aa -licm``" to get the maximum
+benefit from both alias analyses). The alias analysis class automatically
+takes care of most of this for methods that you don't override. For methods
+that you do override, in code paths that return a conservative MayAlias or
+Mod/Ref result, simply return whatever the superclass computes. For example:
.. code-block:: c++
@@ -504,11 +501,11 @@ Available ``AliasAnalysis`` implementations
-------------------------------------------
This section lists the various implementations of the ``AliasAnalysis``
-interface. With the exception of the `-no-aa`_ implementation, all of these
-`chain`_ to other alias analysis implementations.
+interface. With the exception of the :ref:`-no-aa <aliasanalysis-no-aa>`
+implementation, all of these :ref:`chain <aliasanalysis-chaining>` to other
+alias analysis implementations.
-.. _no-aa:
-.. _-no-aa:
+.. _aliasanalysis-no-aa:
The ``-no-aa`` pass
^^^^^^^^^^^^^^^^^^^
diff --git a/docs/Atomics.rst b/docs/Atomics.rst
index 1bca53e2b1..705d73fbab 100644
--- a/docs/Atomics.rst
+++ b/docs/Atomics.rst
@@ -1,5 +1,3 @@
-.. _atomics:
-
==============================================
LLVM Atomic Instructions and Concurrency Guide
==============================================
diff --git a/docs/BitCodeFormat.rst b/docs/BitCodeFormat.rst
index 333e79b864..c83b6c1801 100644
--- a/docs/BitCodeFormat.rst
+++ b/docs/BitCodeFormat.rst
@@ -1,5 +1,3 @@
-.. _bitcode_format:
-
.. role:: raw-html(raw)
:format: html
diff --git a/docs/BranchWeightMetadata.rst b/docs/BranchWeightMetadata.rst
index 2667ce3589..71ecd34c82 100644
--- a/docs/BranchWeightMetadata.rst
+++ b/docs/BranchWeightMetadata.rst
@@ -1,5 +1,3 @@
-.. _branch_weight:
-
===========================
LLVM Branch Weight Metadata
===========================
diff --git a/docs/Bugpoint.rst b/docs/Bugpoint.rst
index 9ccf0cc2d9..1a5fc8c027 100644
--- a/docs/Bugpoint.rst
+++ b/docs/Bugpoint.rst
@@ -1,5 +1,3 @@
-.. _bugpoint:
-
====================================
LLVM bugpoint tool: design and usage
====================================
@@ -136,9 +134,9 @@ non-obvious ways. Here are some hints and tips:
It is often useful to capture the output of the program to file. For example,
in the C shell, you can run:
- .. code-block:: bash
+ .. code-block:: console
- bugpoint ... |& tee bugpoint.log
+ $ bugpoint ... |& tee bugpoint.log
to get a copy of ``bugpoint``'s output in the file ``bugpoint.log``, as well
as on your terminal.
diff --git a/docs/CMake.rst b/docs/CMake.rst
index 7f0420c446..6eab04b970 100644
--- a/docs/CMake.rst
+++ b/docs/CMake.rst
@@ -1,5 +1,3 @@
-.. _building-with-cmake:
-
========================
Building LLVM with CMake
========================
@@ -36,7 +34,7 @@ We use here the command-line, non-interactive CMake interface.
#. Create a directory for containing the build. It is not supported to build
LLVM on the source directory. cd to this directory:
- .. code-block:: bash
+ .. code-block:: console
$ mkdir mybuilddir
$ cd mybuilddir
@@ -44,7 +42,7 @@ We use here the command-line, non-interactive CMake interface.
#. Execute this command on the shell replacing `path/to/llvm/source/root` with
the path to the root of your LLVM source tree:
- .. code-block:: bash
+ .. code-block:: console
$ cmake path/to/llvm/source/root
@@ -80,14 +78,14 @@ the corresponding *Generator* for creating files for your build tool. You can
explicitly specify the generator with the command line option ``-G "Name of the
generator"``. For knowing the available generators on your platform, execute
-.. code-block:: bash
+.. code-block:: console
$ cmake --help
This will list the generator's names at the end of the help text. Generator's
names are case-sensitive. Example:
-.. code-block:: bash
+.. code-block:: console
$ cmake -G "Visual Studio 9 2008" path/to/llvm/source/root
@@ -110,14 +108,14 @@ Variables customize how the build will be generated. Options are boolean
variables, with possible values ON/OFF. Options and variables are defined on the
CMake command line like this:
-.. code-block:: bash
+.. code-block:: console
$ cmake -DVARIABLE=value path/to/llvm/source
You can set a variable after the initial CMake invocation for changing its
value. You can also undefine a variable:
-.. code-block:: bash
+.. code-block:: console
$ cmake -UVARIABLE path/to/llvm/source
@@ -127,7 +125,7 @@ on the root of the build directory. Do not hand-edit it.
Variables are listed here appending its type after a colon. It is correct to
write the variable and the type on the CMake command line:
-.. code-block:: bash
+.. code-block:: console
$ cmake -DVARIABLE:TYPE=value path/to/llvm/source
@@ -280,7 +278,7 @@ Testing is performed when the *check* target is built. For instance, if you are
using makefiles, execute this command while on the top level of your build
directory:
-.. code-block:: bash
+.. code-block:: console
$ make check
@@ -355,13 +353,15 @@ an equivalent variant of snippet shown above:
target_link_libraries(mycompiler ${REQ_LLVM_LIBRARIES})
+.. _cmake-out-of-source-pass:
+
Developing LLVM pass out of source
----------------------------------
It is possible to develop LLVM passes against installed LLVM. An example of
project layout provided below:
-.. code-block:: bash
+.. code-block:: none
<project dir>/
|
diff --git a/docs/CodeGenerator.rst b/docs/CodeGenerator.rst
index ce23667eb3..b5d4180974 100644
--- a/docs/CodeGenerator.rst
+++ b/docs/CodeGenerator.rst
@@ -1,5 +1,3 @@
-.. _code_generator:
-
==========================================
The LLVM Target-Independent Code Generator
==========================================
@@ -17,6 +15,8 @@ The LLVM Target-Independent Code Generator
.partial { background-color: #F88017 }
.yes { background-color: #0F0; }
.yes:before { content: "Y" }
+ .na { background-color: #6666FF; }
+ .na:before { content: "N/A" }
</style>
.. contents::
@@ -285,12 +285,10 @@ The ``TargetInstrInfo`` class
-----------------------------
The ``TargetInstrInfo`` class is used to describe the machine instructions
-supported by the target. It is essentially an array of ``TargetInstrDescriptor``
-objects, each of which describes one instruction the target
-supports. Descriptors define things like the mnemonic for the opcode, the number
-of operands, the list of implicit register uses and defs, whether the
-instruction has certain target-independent properties (accesses memory, is
-commutable, etc), and holds any target-specific flags.
+supported by the target. Descriptions define things like the mnemonic for
+the opcode, the number of operands, the list of implicit register uses and defs,
+whether the instruction has certain target-independent properties (accesses
+memory, is commutable, etc), and holds any target-specific flags.
The ``TargetFrameInfo`` class
-----------------------------
@@ -1748,12 +1746,14 @@ the key:
:raw-html:`<table border="1" cellspacing="0">`
:raw-html:`<tr>`
:raw-html:`<th>Unknown</th>`
+:raw-html:`<th>Not Applicable</th>`
:raw-html:`<th>No support</th>`
:raw-html:`<th>Partial Support</th>`
:raw-html:`<th>Complete Support</th>`
:raw-html:`</tr>`
:raw-html:`<tr>`
:raw-html:`<td class="unknown"></td>`
+:raw-html:`<td class="na"></td>`
:raw-html:`<td class="no"></td>`
:raw-html:`<td class="partial"></td>`
:raw-html:`<td class="yes"></td>`
@@ -1773,7 +1773,7 @@ Here is the table:
:raw-html:`<th>MBlaze</th>`
:raw-html:`<th>MSP430</th>`
:raw-html:`<th>Mips</th>`
-:raw-html:`<th>PTX</th>`
+:raw-html:`<th>NVPTX</th>`
:raw-html:`<th>PowerPC</th>`
:raw-html:`<th>Sparc</th>`
:raw-html:`<th>X86</th>`
@@ -1787,7 +1787,7 @@ Here is the table:
:raw-html:`<td class="no"></td> <!-- MBlaze -->`
:raw-html:`<td class="unknown"></td> <!-- MSP430 -->`
:raw-html:`<td class="yes"></td> <!-- Mips -->`
-:raw-html:`<td class="no"></td> <!-- PTX -->`
+:raw-html:`<td class="yes"></td> <!-- NVPTX -->`
:raw-html:`<td class="yes"></td> <!-- PowerPC -->`
:raw-html:`<td class="yes"></td> <!-- Sparc -->`
:raw-html:`<td class="yes"></td> <!-- X86 -->`
@@ -1801,7 +1801,7 @@ Here is the table:
:raw-html:`<td class="yes"></td> <!-- MBlaze -->`
:raw-html:`<td class="no"></td> <!-- MSP430 -->`
:raw-html:`<td class="no"></td> <!-- Mips -->`
-:raw-html:`<td class="no"></td> <!-- PTX -->`
+:raw-html:`<td class="no"></td> <!-- NVPTX -->`
:raw-html:`<td class="no"></td> <!-- PowerPC -->`
:raw-html:`<td class="no"></td> <!-- Sparc -->`
:raw-html:`<td class="yes"></td> <!-- X86 -->`
@@ -1815,7 +1815,7 @@ Here is the table:
:raw-html:`<td class="yes"></td> <!-- MBlaze -->`
:raw-html:`<td class="no"></td> <!-- MSP430 -->`
:raw-html:`<td class="no"></td> <!-- Mips -->`
-:raw-html:`<td class="no"></td> <!-- PTX -->`
+:raw-html:`<td class="na"></td> <!-- NVPTX -->`
:raw-html:`<td class="no"></td> <!-- PowerPC -->`
:raw-html:`<td class="no"></td> <!-- Sparc -->`
:raw-html:`<td class="yes"></td> <!-- X86 -->`
@@ -1829,7 +1829,7 @@ Here is the table:
:raw-html:`<td class="yes"></td> <!-- MBlaze -->`
:raw-html:`<td class="unknown"></td> <!-- MSP430 -->`
:raw-html:`<td class="no"></td> <!-- Mips -->`
-:raw-html:`<td class="unknown"></td> <!-- PTX -->`
+:raw-html:`<td class="yes"></td> <!-- NVPTX -->`
:raw-html:`<td class="yes"></td> <!-- Pow