mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-16 11:08:09 +00:00
Sphinxify the compiler writer info documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165369 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c38b636e6e
commit
53960a682e
@ -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>
|
118
docs/CompilerWriterInfo.rst
Normal file
118
docs/CompilerWriterInfo.rst
Normal file
@ -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.
|
@ -8,6 +8,7 @@ Programming Documentation
|
||||
|
||||
CodingStandards
|
||||
CommandLine
|
||||
CompilerWriterInfo
|
||||
Atomics
|
||||
HowToSetUpLLVMStyleRTTI
|
||||
|
||||
@ -49,3 +50,7 @@ Programming Documentation
|
||||
(`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.
|
||||
|
Loading…
x
Reference in New Issue
Block a user