2012-04-20 00:31:37 +08:00
|
|
|
.. _design_and_overview:
|
|
|
|
|
|
|
|
LLVM Design & Overview
|
|
|
|
======================
|
|
|
|
|
2012-06-21 05:54:22 +08:00
|
|
|
.. toctree::
|
|
|
|
:hidden:
|
|
|
|
|
docs: Convert LangRef to reST.
NOTE: If you have any patches in the works that modify LangRef, you will
need to rewrite the changes to LangRef.html to their equivalents in
LangRef.rst. If you need assistance feel free to contact me.
Since LangRef is mission-critical for the project and "normative", I
have taken extra care to ensure that no content was lost or altered in
the conversion. The content was converted with a tool called `pandoc`,
so there is no chance for a human error like accidentally forgetting a
sentence or whatever. After the initial conversion by `pandoc`, only
changes to the markup were done.
This is just the most literal conversion of the HTML document as
possible. It might be worth exploring some way to chop up this massive
document into separate pages, e.g. something like
`docs/LangRef/Instructions.rst`, `docs/LangRef/Intrinsics.rst`, etc.
with `docs/LangRef.rst` being an "intro/navigation page" of sorts. On
the other hand, that loses the ability to {Ctrl,Cmd}-F for a given term
right from your browser.
IMO, I think our stylesheet needs some work because I find it hard to
tell what level of nesting some of the headings are at (e.g. "is this a
new section or is it a subsection?"). The issue is present on other
pages, but the sheer size and deep section structure of LangRef really
brings this issue out. If there are any web designers out there in the
community it would be awesome if you tried to come up with something
nicer.
llvm-svn: 169596
2012-12-07 18:36:55 +08:00
|
|
|
LangRef
|
2012-06-21 05:54:22 +08:00
|
|
|
GetElementPtr
|
|
|
|
|
docs: Convert LangRef to reST.
NOTE: If you have any patches in the works that modify LangRef, you will
need to rewrite the changes to LangRef.html to their equivalents in
LangRef.rst. If you need assistance feel free to contact me.
Since LangRef is mission-critical for the project and "normative", I
have taken extra care to ensure that no content was lost or altered in
the conversion. The content was converted with a tool called `pandoc`,
so there is no chance for a human error like accidentally forgetting a
sentence or whatever. After the initial conversion by `pandoc`, only
changes to the markup were done.
This is just the most literal conversion of the HTML document as
possible. It might be worth exploring some way to chop up this massive
document into separate pages, e.g. something like
`docs/LangRef/Instructions.rst`, `docs/LangRef/Intrinsics.rst`, etc.
with `docs/LangRef.rst` being an "intro/navigation page" of sorts. On
the other hand, that loses the ability to {Ctrl,Cmd}-F for a given term
right from your browser.
IMO, I think our stylesheet needs some work because I find it hard to
tell what level of nesting some of the headings are at (e.g. "is this a
new section or is it a subsection?"). The issue is present on other
pages, but the sheer size and deep section structure of LangRef really
brings this issue out. If there are any web designers out there in the
community it would be awesome if you tried to come up with something
nicer.
llvm-svn: 169596
2012-12-07 18:36:55 +08:00
|
|
|
* :doc:`LangRef`
|
2012-04-20 00:31:37 +08:00
|
|
|
|
2012-06-20 17:49:06 +08:00
|
|
|
Defines the LLVM intermediate representation.
|
2012-04-20 00:31:37 +08:00
|
|
|
|
2012-06-20 17:49:06 +08:00
|
|
|
* `Introduction to the LLVM Compiler <http://llvm.org/pubs/2008-10-04-ACAT-LLVM-Intro.html>`_
|
2012-04-20 00:31:37 +08:00
|
|
|
|
2012-06-20 17:49:06 +08:00
|
|
|
Presentation providing a users introduction to LLVM.
|
2012-04-20 00:31:37 +08:00
|
|
|
|
2012-06-20 17:49:06 +08:00
|
|
|
* `Intro to LLVM <http://www.aosabook.org/en/llvm.html>`_
|
2012-04-20 00:31:37 +08:00
|
|
|
|
2012-06-20 17:49:06 +08:00
|
|
|
Book chapter providing a compiler hacker's introduction to LLVM.
|
2012-04-20 00:31:37 +08:00
|
|
|
|
2012-06-20 17:49:06 +08:00
|
|
|
* `LLVM: A Compilation Framework forLifelong Program Analysis & Transformation
|
|
|
|
<http://llvm.org/pubs/2004-01-30-CGO-LLVM.html>`_
|
2012-04-20 00:31:37 +08:00
|
|
|
|
2012-06-20 17:49:06 +08:00
|
|
|
Design overview.
|
2012-04-20 00:31:37 +08:00
|
|
|
|
2012-06-20 17:49:06 +08:00
|
|
|
* `LLVM: An Infrastructure for Multi-Stage Optimization
|
|
|
|
<http://llvm.org/pubs/2002-12-LattnerMSThesis.html>`_
|
2012-04-20 00:31:37 +08:00
|
|
|
|
2012-06-20 17:49:06 +08:00
|
|
|
More details (quite old now).
|
2012-04-20 00:31:37 +08:00
|
|
|
|
2012-06-21 05:54:22 +08:00
|
|
|
* :ref:`gep`
|
2012-04-20 00:31:37 +08:00
|
|
|
|
2012-06-20 17:49:06 +08:00
|
|
|
Answers to some very frequent questions about LLVM's most frequently
|
|
|
|
misunderstood instruction.
|