Before we learned about :doc:, we used :ref: and put a dummy link at the
top of each page. Don't do that anymore.
This fixes PR14891 as a special case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172162
91177308-0d34-0410-b5e6-
96231b3b80d8
44 files changed:
==================================
LLVM Alias Analysis Infrastructure
==================================
==================================
LLVM Alias Analysis Infrastructure
==================================
==============================================
LLVM Atomic Instructions and Concurrency Guide
==============================================
==============================================
LLVM Atomic Instructions and Concurrency Guide
==============================================
.. role:: raw-html(raw)
:format: html
.. role:: raw-html(raw)
:format: html
===========================
LLVM Branch Weight Metadata
===========================
===========================
LLVM Branch Weight Metadata
===========================
====================================
LLVM bugpoint tool: design and usage
====================================
====================================
LLVM bugpoint tool: design and usage
====================================
-.. _building-with-cmake:
-
========================
Building LLVM with CMake
========================
========================
Building LLVM with CMake
========================
==========================================
The LLVM Target-Independent Code Generator
==========================================
==========================================
The LLVM Target-Independent Code Generator
==========================================
=====================
LLVM Coding Standards
=====================
=====================
LLVM Coding Standards
=====================
LLVM Command Guide
------------------
LLVM Command Guide
------------------
==============================
CommandLine 2.0 Library Manual
==============================
==============================
CommandLine 2.0 Library Manual
==============================
-.. _compiler_writer_info:
-
========================================================
Architecture & Platform Information for Compiler Writers
========================================================
========================================================
Architecture & Platform Information for Compiler Writers
========================================================
-.. _debugging-jited-code:
-
==============================
Debugging JIT-ed Code With GDB
==============================
==============================
Debugging JIT-ed Code With GDB
==============================
=====================
LLVM Developer Policy
=====================
=====================
LLVM Developer Policy
=====================
-.. _exception_handling:
-
==========================
Exception Handling in LLVM
==========================
==========================
Exception Handling in LLVM
==========================
============================================================
Extending LLVM: Adding instructions, intrinsics, types, etc.
============================================================
============================================================
Extending LLVM: Adding instructions, intrinsics, types, etc.
============================================================
================================
Frequently Asked Questions (FAQ)
================================
================================
Frequently Asked Questions (FAQ)
================================
=======================================
The Often Misunderstood GEP Instruction
=======================================
=======================================
The Often Misunderstood GEP Instruction
=======================================
====================================
Getting Started with the LLVM System
====================================
====================================
Getting Started with the LLVM System
====================================
==================================================================
Getting Started with the LLVM System using Microsoft Visual Studio
==================================================================
==================================================================
Getting Started with the LLVM System using Microsoft Visual Studio
==================================================================
====================
The LLVM gold plugin
====================
====================
The LLVM gold plugin
====================
-.. _how_to_add_a_builder:
-
===================================================================
How To Add Your Build Configuration To LLVM Buildbot Infrastructure
===================================================================
===================================================================
How To Add Your Build Configuration To LLVM Buildbot Infrastructure
===================================================================
-.. _how_to_build_on_arm:
-
===================================================================
How To Build On ARM
===================================================================
===================================================================
How To Build On ARM
===================================================================
Build ``Debug``, ``Release+Asserts``, and ``Release`` versions
of ``llvm`` on all supported platforms. Directions to build ``llvm``
Build ``Debug``, ``Release+Asserts``, and ``Release`` versions
of ``llvm`` on all supported platforms. Directions to build ``llvm``
-are :ref:`here <getting_started>`.
+are :doc:`here <GettingStarted>`.
Build Clang Binary Distribution
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Build Clang Binary Distribution
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-.. _how-to-set-up-llvm-style-rtti:
-
======================================================
How to set up LLVM-style RTTI for your class hierarchy
======================================================
======================================================
How to set up LLVM-style RTTI for your class hierarchy
======================================================
-.. _how-to-submit-a-bug-report:
-
================================
How to submit an LLVM bug report
================================
================================
How to submit an LLVM bug report
================================
-.. _how_to_use_instruction_mappings:
-
===============================
How To Use Instruction Mappings
===============================
===============================
How To Use Instruction Mappings
===============================
================
The LLVM Lexicon
================
================
The LLVM Lexicon
================
======================================================
LLVM Link Time Optimization: Design and Implementation
======================================================
======================================================
LLVM Link Time Optimization: Design and Implementation
======================================================
===================
LLVM Makefile Guide
===================
===================
LLVM Makefile Guide
===================
-.. _marked_up_disassembly:
-
=======================================
LLVM's Optional Rich Disassembly Output
=======================================
=======================================
LLVM's Optional Rich Disassembly Output
=======================================
========================
Advice on Packaging LLVM
========================
========================
Advice on Packaging LLVM
========================
(even better, get the book)
<http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html>`_.
(even better, get the book)
<http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html>`_.
-You are also encouraged to take a look at the :ref:`LLVM Coding Standards
-<coding_standards>` guide which focuses on how to write maintainable code more
+You are also encouraged to take a look at the :doc:`LLVM Coding Standards
+<CodingStandards>` guide which focuses on how to write maintainable code more
than where to put your curly braces.
.. _resources:
than where to put your curly braces.
.. _resources:
These five templates can be used with any classes, whether they have a v-table
or not. If you want to add support for these templates, see the document
These five templates can be used with any classes, whether they have a v-table
or not. If you want to add support for these templates, see the document
-:ref:`How to set up LLVM-style RTTI for your class hierarchy
-<how-to-set-up-llvm-style-rtti>`
+:doc:`How to set up LLVM-style RTTI for your class hierarchy
+<HowToSetUpLLVMStyleRTTI>`
========================
Creating an LLVM Project
========================
========================
Creating an LLVM Project
========================
========================
Segmented Stacks in LLVM
========================
========================
Segmented Stacks in LLVM
========================
=====================
TableGen Fundamentals
=====================
=====================
TableGen Fundamentals
=====================
=====================
YAML I/O
=====================
=====================
YAML I/O
=====================
-.. _design_and_overview:
-
LLVM Design & Overview
======================
LLVM Design & Overview
======================
More details (quite old now).
More details (quite old now).
Answers to some very frequent questions about LLVM's most frequently
misunderstood instruction.
Answers to some very frequent questions about LLVM's most frequently
misunderstood instruction.
-.. _development_process:
-
Development Process Documentation
=================================
Development Process Documentation
=================================
LLVMBuild
HowToReleaseLLVM
LLVMBuild
HowToReleaseLLVM
How-to guide and templates for new projects that *use* the LLVM
infrastructure. The templates (directory organization, Makefiles, and test
How-to guide and templates for new projects that *use* the LLVM
infrastructure. The templates (directory organization, Makefiles, and test
Describes the LLVMBuild organization and files used by LLVM to specify
component descriptions.
Describes the LLVMBuild organization and files used by LLVM to specify
component descriptions.
Describes how the LLVM makefiles work and how to use them.
Describes how the LLVM makefiles work and how to use them.
* **Design & Overview**
Several introductory papers and presentations are available at
* **Design & Overview**
Several introductory papers and presentations are available at
- :ref:`design_and_overview`.
+ :doc:`design_and_overview`.
- Those new to the LLVM system should first visit the :ref:`userguides`.
+ Those new to the LLVM system should first visit the :doc:`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
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
* **API Clients**
Developers of applications which use LLVM as a library should visit the
* **API Clients**
Developers of applications which use LLVM as a library should visit the
* **Subsystems**
API clients and LLVM developers may be interested in the
* **Subsystems**
API clients and LLVM developers may be interested in the
- :ref:`subsystems` documentation.
+ :doc:`subsystems` documentation.
* **Development Process**
Additional documentation on the LLVM project can be found at
* **Development Process**
Additional documentation on the LLVM project can be found at
- :ref:`development_process`.
+ :doc:`development_process`.
- For more information, consider consulting the LLVM :ref:`mailing_lists`.
+ For more information, consider consulting the LLVM :doc:`mailing_lists`.
.. toctree::
:maxdepth: 2
.. toctree::
:maxdepth: 2
Mailing Lists
=============
Mailing Lists
=============
Programming Documentation
=========================
Programming Documentation
=========================
HowToSetUpLLVMStyleRTTI
ProgrammersManual
HowToSetUpLLVMStyleRTTI
ProgrammersManual
-* `LLVM Language Reference Manual <LangRef.html>`_
+* :doc:`LLVM Language Reference Manual <LangRef>`
Defines the LLVM intermediate representation and the assembly form of the
different nodes.
Defines the LLVM intermediate representation and the assembly form of the
different nodes.
Information about LLVM's concurrency model.
Information about LLVM's concurrency model.
Introduction to the general layout of the LLVM sourcebase, important classes
and APIs, and some tips & tricks.
Introduction to the general layout of the LLVM sourcebase, important classes
and APIs, and some tips & tricks.
Provides information on using the command line parsing library.
Provides information on using the command line parsing library.
-* :ref:`coding_standards`
+* :doc:`CodingStandards`
Details the LLVM coding standards and provides useful information on writing
efficient C++ code.
Details the LLVM coding standards and provides useful information on writing
efficient C++ code.
How to make ``isa<>``, ``dyn_cast<>``, etc. available for clients of your
class hierarchy.
How to make ``isa<>``, ``dyn_cast<>``, etc. available for clients of your
class hierarchy.
Look here to see how to add instructions and intrinsics to LLVM.
Look here to see how to add instructions and intrinsics to LLVM.
* `ViewVC Repository Browser <http://llvm.org/viewvc/>`_
* `ViewVC Repository Browser <http://llvm.org/viewvc/>`_
-* :ref:`compiler_writer_info`
+* :doc:`CompilerWriterInfo`
A list of helpful links for compiler writers.
A list of helpful links for compiler writers.
Subsystem Documentation
=======================
Subsystem Documentation
=======================
Information on how to write LLVM backends for machine targets.
Information on how to write LLVM backends for machine targets.
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.
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.
+* :doc:`TableGenFundamentals`
Describes the TableGen tool, which is used heavily by the LLVM code
generator.
Describes the TableGen tool, which is used heavily by the LLVM code
generator.
Information on how to write a new alias analysis implementation or how to
use existing analyses.
Information on how to write a new alias analysis implementation or how to
use existing analyses.
This document describes the current status of vectorization in LLVM.
This document describes the current status of vectorization in LLVM.
-* :ref:`exception_handling`
+* :doc:`ExceptionHandling`
This document describes the design and implementation of exception handling
in LLVM.
This document describes the design and implementation of exception handling
in LLVM.
Automatic bug finder and test-case reducer description and usage
information.
Automatic bug finder and test-case reducer description and usage
information.
This describes the file format and encoding used for LLVM "bc" files.
This describes the file format and encoding used for LLVM "bc" files.
This document describes the LLVM System Library (``lib/System``) and
how to keep LLVM source code portable
This document describes the LLVM System Library (``lib/System``) and
how to keep LLVM source code portable
+* :doc:`LinkTimeOptimization`
This document describes the interface between LLVM intermodular optimizer
and the linker and its design
This document describes the interface between LLVM intermodular optimizer
and the linker and its design
How to build your programs with link-time optimization on Linux.
How to build your programs with link-time optimization on Linux.
-* :ref:`debugging-jited-code`
+* :doc:`DebuggingJITedCode`
How to debug JITed code with GDB.
How to debug JITed code with GDB.
+* :doc:`BranchWeightMetadata`
Provides information about Branch Prediction Information.
Provides information about Branch Prediction Information.
-* :ref:`segmented_stacks`
+* :doc:`SegmentedStacks`
This document describes segmented stacks and how they are used in LLVM.
This document describes segmented stacks and how they are used in LLVM.
-* :ref:`marked_up_disassembly`
+* :doc:`MarkedUpDisassembly`
This document describes the optional rich disassembly output syntax.
This document describes the optional rich disassembly output syntax.
-* :ref:`getting_started`
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.
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.
-* :ref:`building-with-cmake`
An addendum to the main Getting Started guide for those using the `CMake
build system <http://www.cmake.org>`_.
An addendum to the main Getting Started guide for those using the `CMake
build system <http://www.cmake.org>`_.
-* :ref:`how_to_build_on_arm`
+* :doc:`HowToBuildOnARM`
Notes on building and testing LLVM/Clang on ARM.
Notes on building and testing LLVM/Clang on ARM.
Tutorials about using LLVM. Includes a tutorial about making a custom
language with LLVM.
Tutorials about using LLVM. Includes a tutorial about making a custom
language with LLVM.
-* :ref:`developer_policy`
+* :doc:`DeveloperPolicy`
The LLVM project's policy towards developers and their contributions.
The LLVM project's policy towards developers and their contributions.
-* :ref:`LLVM Command Guide <commands>`
+* :doc:`LLVM Command Guide <CommandGuide/index>`
A reference manual for the LLVM command line utilities ("man" pages for LLVM
tools).
A reference manual for the LLVM command line utilities ("man" pages for LLVM
tools).
A list of optimizations and analyses implemented in LLVM.
A list of optimizations and analyses implemented in LLVM.
A list of common questions and problems and their solutions.
A list of common questions and problems and their solutions.
This describes new features, known bugs, and other limitations.
This describes new features, known bugs, and other limitations.
-* :ref:`how-to-submit-a-bug-report`
+* :doc:`HowToSubmitABug`
Instructions for properly submitting information about any bugs you run into
in the LLVM system.
Instructions for properly submitting information about any bugs you run into
in the LLVM system.
Instructions for building the clang front-end from source.
Instructions for building the clang front-end from source.
Advice on packaging LLVM into a distribution.
Advice on packaging LLVM into a distribution.
Definition of acronyms, terms and concepts used in LLVM.
Definition of acronyms, terms and concepts used in LLVM.
-* :ref:`how_to_add_a_builder`
+* :doc:`HowToAddABuilder`
Instructions for adding new builder to LLVM buildbot master.
Instructions for adding new builder to LLVM buildbot master.
A reference guide for using LLVM's YAML I/O library.
A reference guide for using LLVM's YAML I/O library.