[llvm-commits] [llvm] r165369 - in /llvm/trunk/docs: CompilerWriterInfo.html CompilerWriterInfo.rst programming.rst

Sean Silva silvas at purdue.edu
Sun Oct 7 08:17:28 PDT 2012


>  * `ViewVC Repository Browser <http://llvm.org/viewvc/>`_
> +
> +* :ref:`compiler_writer_info`
> +
> +  A list of helpful links for compiler writers.

I actually recently found that Sphinx has a :doc: role which is a bit
nicer for this usage. Nothing major, but for future reference, it
might make your life marginally easier:

It is basically :doc:`FileNameWithoutRstSuffix` and then it creates a
link to the page itself. It's slightly nicer than the :ref:+anchor
since it will link to the page itself, rather than an anchor at the
top of the page, which leads to nicer URL's. It also removes the need
for the boilerplate anchor (e.g. `.. _compiler_writer_info:`) at the
top of the page.

An example of this is also on programming.rst, which I recently put in
and is currently the sole use in the docs:

* :doc:`HowToSetUpLLVMStyleRTTI`

  How to make ``isa<>``, ``dyn_cast<>``, etc. available for clients of your
  class hierarchy.

Thanks for Sphinxifying!

Btw, if you have any tips or best practices to suggest for a new
document HowToWriteDocsWithSphinx.rst document that I'm working on,
feel free to shout them at me.

-- Sean Silva

On Sun, Oct 7, 2012 at 12:34 AM, Bill Wendling <isanbard at gmail.com> wrote:
> Author: void
> Date: Sat Oct  6 23:34:10 2012
> New Revision: 165369
>
> URL: http://llvm.org/viewvc/llvm-project?rev=165369&view=rev
> Log:
> Sphinxify the compiler writer info documentation.
>
> Added:
>     llvm/trunk/docs/CompilerWriterInfo.rst
> Removed:
>     llvm/trunk/docs/CompilerWriterInfo.html
> Modified:
>     llvm/trunk/docs/programming.rst
>
> Removed: llvm/trunk/docs/CompilerWriterInfo.html
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/CompilerWriterInfo.html?rev=165368&view=auto
> ==============================================================================
> --- llvm/trunk/docs/CompilerWriterInfo.html (original)
> +++ llvm/trunk/docs/CompilerWriterInfo.html (removed)
> @@ -1,267 +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>Architecture/platform information for compiler writers</title>
> -  <link rel="stylesheet" href="_static/llvm.css" type="text/css">
> -</head>
> -
> -<body>
> -
> -<h1>
> -  Architecture/platform information for compiler writers
> -</h1>
> -
> -<div class="doc_warning">
> -  <p>Note: This document is a work-in-progress.  Additions and clarifications
> -  are welcome.</p>
> -</div>
> -
> -<ol>
> -  <li><a href="#hw">Hardware</a>
> -  <ol>
> -    <li><a href="#arm">ARM</a></li>
> -    <li><a href="#ia64">Itanium</a></li>
> -    <li><a href="#mips">MIPS</a></li>
> -    <li><a href="#ppc">PowerPC</a></li>
> -    <li><a href="#sparc">SPARC</a></li>
> -    <li><a href="#x86">X86</a></li>
> -    <li><a href="#other">Other lists</a></li>
> -  </ol></li>
> -  <li><a href="#abi">Application Binary Interface (ABI)</a>
> -  <ol>
> -    <li><a href="#linux">Linux</a></li>
> -    <li><a href="#osx">OS X</a></li>
> -  </ol></li>
> -  <li><a href="#misc">Miscellaneous resources</a></li>
> -</ol>
> -
> -<div class="doc_author">
> -  <p>Compiled by <a href="http://misha.brukman.net">Misha Brukman</a></p>
> -</div>
> -
> -<!-- *********************************************************************** -->
> -<h2><a name="hw">Hardware</a></h2>
> -<!-- *********************************************************************** -->
> -
> -<div>
> -
> -<!-- ======================================================================= -->
> -<h3><a name="arm">ARM</a></h3>
> -
> -<div>
> -<ul>
> -<li><a href="http://www.arm.com/documentation/">ARM documentation</a>
> -(<a href="http://www.arm.com/documentation/ARMProcessor_Cores/">Processor
> -Cores</a>)</li>
> -<li><a href="http://www.arm.com/products/DevTools/ABI.html">ABI</a></li>
> -</ul>
> -</div>
> -
> -<!-- ======================================================================= -->
> -<h3><a name="ia64">Itanium (ia64)</a></h3>
> -
> -<div>
> -<ul>
> -<li><a
> -href="http://developer.intel.com/design/itanium2/documentation.htm">Itanium documentation</a>
> -</li>
> -</ul>
> -</div>
> -
> -<!-- ======================================================================= -->
> -<h3><a name="mips">MIPS</a></h3>
> -
> -<div>
> -<ul>
> -<li><a
> -href="http://mips.com/content/Documentation/MIPSDocumentation/ProcessorArchitecture/doclibrary">MIPS
> -Processor Architecture</a></li>
> -</ul>
> -</div>
> -
> -<!-- ======================================================================= -->
> -<h3><a name="ppc">PowerPC</a></h3>
> -
> -<div>
> -
> -<!-- _______________________________________________________________________ -->
> -<h4>IBM - Official manuals and docs</h4>
> -
> -<div>
> -
> -<ul>
> -<li><a
> -href="http://www-106.ibm.com/developerworks/eserver/articles/archguide.html">PowerPC
> -Architecture Book</a>
> -<ul>
> -  <li>Book I: <a
> -  href="http://www-106.ibm.com/developerworks/eserver/pdfs/archpub1.pdf">PowerPC
> -  User Instruction Set Architecture</a></li>
> -  <li>Book II: <a
> -  href="http://www-106.ibm.com/developerworks/eserver/pdfs/archpub2.pdf">PowerPC
> -  Virtual Environment Architecture</a></li>
> -  <li>Book III: <a
> -  href="http://www-106.ibm.com/developerworks/eserver/pdfs/archpub3.pdf">PowerPC
> -  Operating Environment Architecture</a></li>
> -</ul></li>
> -<li><a
> -href="http://www-3.ibm.com/chips/techlib/techlib.nsf/techdocs/852569B20050FF7785256996007558C6">PowerPC
> -Compiler Writer's Guide</a></li>
> -<li><A
> -href="http://www-3.ibm.com/chips/techlib/techlib.nsf/products/PowerPC">PowerPC
> -Processor Manuals</a></li>
> -<li><a
> -href="http://www-106.ibm.com/developerworks/linux/library/l-powarch/">Intro to
> -PowerPC architecture</a></li>
> -<li><a href="http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixassem/alangref/alangreftfrm.htm">IBM AIX/5L for POWER Assembly reference</a></li>
> -</ul>
> -
> -</div>
> -
> -<!-- _______________________________________________________________________ -->
> -<h4>Other documents, collections, notes</h4>
> -
> -<div>
> -
> -<ul>
> -<li><a href="http://penguinppc.org/dev/#library">PowerPC ABI documents</a></li>
> -<li><a href="http://gcc.gnu.org/ml/gcc-patches/2003-09/msg00997.html">PowerPC64
> -alignment of long doubles (from GCC)</a></li>
> -<li><a href="http://sources.redhat.com/ml/binutils/2002-04/msg00573.html">Long
> -branch stubs for powerpc64-linux (from binutils)</a></li>
> -</ul>
> -
> -</div>
> -
> -</div>
> -
> -<!-- ======================================================================= -->
> -<h3><a name="sparc">SPARC</a></h3>
> -
> -<div>
> -
> -<ul>
> -<li><a href="http://www.sparc.org/resource.htm">SPARC resources</a></li>
> -<li><a href="http://www.sparc.org/standards.html">SPARC standards</a></li>
> -</ul>
> -
> -</div>
> -
> -<!-- ======================================================================= -->
> -<h3><a name="x86">X86</a></h3>
> -
> -<div>
> -
> -<!-- _______________________________________________________________________ -->
> -<h4>AMD - Official manuals and docs</h4>
> -
> -<div>
> -<ul>
> -<li><a
> -href="http://www.amd.com/us-en/Processors/TechnicalResources/0,,30_182_739,00.html">AMD processor manuals</a></li>
> -<li><a href="http://www.x86-64.org/documentation">X86-64 ABI</a></li>
> -</ul>
> -</div>
> -
> -<!-- _______________________________________________________________________ -->
> -<h4>Intel - Official manuals and docs</h4>
> -
> -<div>
> -<ul>
> -<li><a
> -href="http://developer.intel.com/design/pentium4/manuals/index_new.htm">IA-32
> -manuals</a></li>
> -<li><a
> -href="http://www.intel.com/design/itanium/documentation.htm?iid=ipp_srvr_proc_itanium2+techdocs">Intel
> -Itanium documentation</a></li>
> -</ul>
> -</div>
> -
> -<!-- _______________________________________________________________________ -->
> -<h4>Other x86-specific information</h4>
> -
> -<div>
> -<ul>
> -<li><a href="http://www.agner.org/assem/calling_conventions.pdf">Calling
> -conventions for different C++ compilers and operating systems</a></li>
> -</ul>
> -</div>
> -
> -</div>
> -
> -<!-- ======================================================================= -->
> -<h3><a name="other">Other relevant lists</a></h3>
> -
> -<div>
> -
> -<ul>
> -<li><a href="http://gcc.gnu.org/readings.html">GCC reading list</a></li>
> -</ul>
> -
> -</div>
> -
> -</div>
> -
> -<!-- *********************************************************************** -->
> -<h2><a name="abi">ABI</a></h2>
> -<!-- *********************************************************************** -->
> -
> -<div>
> -
> -<!-- ======================================================================= -->
> -<h3><a name="linux">Linux</a></h3>
> -
> -<div>
> -<ol>
> -<li><a href="http://www.linuxbase.org/spec/ELF/ppc64/">PowerPC 64-bit ELF ABI
> -Supplement</a></li>
> -</ol>
> -</div>
> -
> -<!-- ======================================================================= -->
> -<h3><a name="osx">OS X</a></h3>
> -
> -<div>
> -<ol>
> -<li><a
> -href="http://developer.apple.com/documentation/Darwin/RuntimeArchitecture-date.html">Mach-O
> -Runtime Architecture</a></li>
> -<li><a href="http://www.unsanity.org/archives/000044.php">Notes on Mach-O
> -ABI</a></li>
> -</ol>
> -
> -</div>
> -
> -</div>
> -
> -<!-- *********************************************************************** -->
> -<h2><a name="misc">Miscellaneous resources</a></h2>
> -<!-- *********************************************************************** -->
> -
> -<ul>
> -<li><a
> -href="http://www.nondot.org/sabre/os/articles/ExecutableFileFormats/">Executable
> -File Format library</a></li>
> -<li><a href="http://gcc.gnu.org/projects/prefetch.html">GCC prefetch project</a>
> -page has a good survey of the prefetching capabilities of a variety of modern
> -processors.</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://misha.brukman.net">Misha Brukman</a><br>
> -  <a href="http://llvm.org/">LLVM Compiler Infrastructure</a><br>
> -  Last modified: $Date$
> -</address>
> -
> -</body>
> -</html>
>
> Added: llvm/trunk/docs/CompilerWriterInfo.rst
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/CompilerWriterInfo.rst?rev=165369&view=auto
> ==============================================================================
> --- llvm/trunk/docs/CompilerWriterInfo.rst (added)
> +++ llvm/trunk/docs/CompilerWriterInfo.rst Sat Oct  6 23:34:10 2012
> @@ -0,0 +1,118 @@
> +.. _compiler_writer_info:
> +
> +========================================================
> +Architecture & Platform Information for Compiler Writers
> +========================================================
> +
> +.. contents::
> +   :local:
> +
> +.. note::
> +
> +  This document is a work-in-progress.  Additions and clarifications are
> +  welcome.
> +
> +  Compiled by `Misha Brukman <http://misha.brukman.net>`_.
> +
> +Hardware
> +========
> +
> +ARM
> +---
> +
> +* `ARM documentation <http://www.arm.com/documentation/>`_ (`Processor Cores <http://www.arm.com/documentation/ARMProcessor_Cores/>`_ Cores)
> +
> +* `ABI <http://www.arm.com/products/DevTools/ABI.html>`_
> +
> +Itanium (ia64)
> +--------------
> +
> +* `Itanium documentation <http://developer.intel.com/design/itanium2/documentation.htm>`_
> +
> +MIPS
> +----
> +
> +* `MIPS Processor Architecture <http://mips.com/content/Documentation/MIPSDocumentation/ProcessorArchitecture/doclibrary>`_
> +
> +PowerPC
> +-------
> +
> +IBM - Official manuals and docs
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> +
> +* `PowerPC Architecture Book <http://www-106.ibm.com/developerworks/eserver/articles/archguide.html>`_
> +
> +  * Book I: `PowerPC User Instruction Set Architecture <http://www-106.ibm.com/developerworks/eserver/pdfs/archpub1.pdf>`_
> +
> +  * Book II: `PowerPC Virtual Environment Architecture <http://www-106.ibm.com/developerworks/eserver/pdfs/archpub2.pdf>`_
> +
> +  * Book III: `PowerPC Operating Environment Architecture <http://www-106.ibm.com/developerworks/eserver/pdfs/archpub3.pdf>`_
> +
> +* `PowerPC Compiler Writer's Guide <http://www-3.ibm.com/chips/techlib/techlib.nsf/techdocs/852569B20050FF7785256996007558C6>`_
> +
> +* `PowerPC Processor Manuals <http://www-3.ibm.com/chips/techlib/techlib.nsf/products/PowerPC>`_
> +
> +* `Intro to PowerPC Architecture <http://www-106.ibm.com/developerworks/linux/library/l-powarch/>`_
> +
> +* `IBM AIX/5L for POWER Assembly Reference <http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixassem/alangref/alangreftfrm.htm>`_
> +
> +Other documents, collections, notes
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> +
> +* `PowerPC ABI documents <http://penguinppc.org/dev/#library>`_
> +* `PowerPC64 alignment of long doubles (from GCC) <http://gcc.gnu.org/ml/gcc-patches/2003-09/msg00997.html>`_
> +* `Long branch stubs for powerpc64-linux (from binutils) <http://sources.redhat.com/ml/binutils/2002-04/msg00573.html>`_
> +
> +SPARC
> +-----
> +
> +* `SPARC resources <http://www.sparc.org/resource.htm>`_
> +* `SPARC standards <http://www.sparc.org/standards.html>`_
> +
> +X86
> +---
> +
> +AMD - Official manuals and docs
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> +
> +* `AMD processor manuals <http://www.amd.com/us-en/Processors/TechnicalResources/0,,30_182_739,00.html>`_
> +* `X86-64 ABI <http://www.x86-64.org/documentation>`_
> +
> +Intel - Official manuals and docs
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> +
> +* `IA-32 manuals <http://developer.intel.com/design/pentium4/manuals/index_new.htm>`_
> +* `Intel Itanium documentation <http://www.intel.com/design/itanium/documentation.htm?iid=ipp_srvr_proc_itanium2+techdocs>`_
> +
> +Other x86-specific information
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> +
> +* `Calling conventions for different C++ compilers and operating systems  <http://www.agner.org/assem/calling_conventions.pdf>`_
> +
> +Other relevant lists
> +--------------------
> +
> +* `GCC reading list <http://gcc.gnu.org/readings.html>`_
> +
> +ABI
> +===
> +
> +Linux
> +-----
> +
> +* `PowerPC 64-bit ELF ABI Supplement <http://www.linuxbase.org/spec/ELF/ppc64/>`_
> +
> +OS X
> +----
> +
> +* `Mach-O Runtime Architecture <http://developer.apple.com/documentation/Darwin/RuntimeArchitecture-date.html>`_
> +* `Notes on Mach-O ABI <http://www.unsanity.org/archives/000044.php>`_
> +
> +Miscellaneous Resources
> +=======================
> +
> +* `Executable File Format library <http://www.nondot.org/sabre/os/articles/ExecutableFileFormats/>`_
> +
> +* `GCC prefetch project <http://gcc.gnu.org/projects/prefetch.html>`_ page has a
> +  good survey of the prefetching capabilities of a variety of modern
> +  processors.
>
> Modified: llvm/trunk/docs/programming.rst
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/programming.rst?rev=165369&r1=165368&r2=165369&view=diff
> ==============================================================================
> --- llvm/trunk/docs/programming.rst (original)
> +++ llvm/trunk/docs/programming.rst Sat Oct  6 23:34:10 2012
> @@ -8,6 +8,7 @@
>
>     CodingStandards
>     CommandLine
> +   CompilerWriterInfo
>     Atomics
>     HowToSetUpLLVMStyleRTTI
>
> @@ -49,3 +50,7 @@
>    (`tarball <http://llvm.org/doxygen/doxygen.tar.gz>`_)
>
>  * `ViewVC Repository Browser <http://llvm.org/viewvc/>`_
> +
> +* :ref:`compiler_writer_info`
> +
> +  A list of helpful links for compiler writers.
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list