llvm-6502/docs
2013-11-11 14:27:56 +00:00
..
_static
_templates
_themes/llvm-theme
CommandGuide
HistoricalNotes
TableGen
tutorial [OCaml] (PR10016) Add a few missing line in OCamlLangImpl2.rst 2013-11-05 12:14:04 +00:00
AliasAnalysis.rst
Atomics.rst
BitCodeFormat.rst
BranchWeightMetadata.rst
Bugpoint.rst
CMake.rst
CMakeLists.txt
CodeGenerator.rst Add more documentation about the TargetStreamer interface. 2013-10-16 14:54:39 +00:00
CodingStandards.rst Revert r189704, which removed the guidance about not duplicating doc comments. 2013-09-01 15:48:08 +00:00
CommandLine.rst
CompilerWriterInfo.rst
conf.py
DebuggingJITedCode.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
DeveloperPolicy.rst
doxygen.cfg.in
doxygen.css [docs] Update Makefile for images removal. 2012-04-20 17:27:12 +00:00
doxygen.footer
doxygen.header
doxygen.intro Tidy up. s/Low Level Virtual Machine/LLVM/. 2012-01-25 22:00:23 +00:00
Dummy.html
ExceptionHandling.rst Documentation: use monospaced font for intrinsics' names 2013-01-13 16:07:49 +00:00
ExtendedIntegerResults.txt
ExtendingLLVM.rst
Extensions.rst
FAQ.rst
GarbageCollection.rst
gcc-loops.png
GetElementPtr.rst
GettingStarted.rst Update the Python version. And Perl isn't used anymore. 2013-10-27 04:02:21 +00:00
GettingStartedVS.rst
GoldPlugin.rst
HowToAddABuilder.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
HowToBuildOnARM.rst
HowToCrossCompileLLVM.rst
HowToReleaseLLVM.rst
HowToSetUpLLVMStyleRTTI.rst
HowToSubmitABug.rst
HowToUseAttributes.rst Documentation: HowToUseAttributes: formatting (use monospaced font) 2013-02-12 18:26:08 +00:00
HowToUseInstrMappings.rst docs: Fix long standing linking antipattern. 2013-01-11 02:28:08 +00:00
index.rst
LangRef.rst Remove linkonce_odr_auto_hide. 2013-11-01 17:09:14 +00:00
Lexicon.rst
LinkTimeOptimization.rst
linpack-pc.png
LLVMBuild.rst
LLVMBuild.txt
make.bat [docs] Stub out structure for Sphinx-based docs. 2012-04-19 16:31:19 +00:00
Makefile
Makefile.sphinx
MakefileGuide.rst
MarkedUpDisassembly.rst
MCJIT-creation.png
MCJIT-dyld-load.png
MCJIT-engine-builder.png
MCJIT-load-object.png
MCJIT-load.png
MCJIT-resolve-relocations.png Adding a document to describe the MCJIT execution engine implementation. 2013-08-21 22:15:09 +00:00
MCJITDesignAndImplementation.rst
NVPTXUsage.rst
Packaging.rst
Passes.rst
Phabricator.rst Update of the 'Code Review' page. The link is now called 'Create Diff' instead of 'Create Revision' 2013-11-11 14:27:56 +00:00
ProgrammersManual.rst
Projects.rst
re_format.7 Revert r103213. It broke several sections of live website. 2010-05-07 00:28:04 +00:00
README.txt
ReleaseNotes.rst Add the fact that we anticipate switching to use (some subset of) C++11 2013-11-07 00:23:08 +00:00
ReleaseProcess.rst
SegmentedStacks.rst
SourceLevelDebugging.rst
SphinxQuickstartTemplate.rst
SystemLibrary.rst
TableGenFundamentals.rst
TestingGuide.rst
TestSuiteMakefileGuide.rst
Vectorizers.rst
WritingAnLLVMBackend.rst
WritingAnLLVMPass.rst
yaml2obj.rst
YamlIO.rst

LLVM Documentation
==================

LLVM's documentation is written in reStructuredText, a lightweight
plaintext markup language (file extension `.rst`). While the
reStructuredText documentation should be quite readable in source form, it
is mostly meant to be processed by the Sphinx documentation generation
system to create HTML pages which are hosted on <http://llvm.org/docs/> and
updated after every commit. Manpage output is also supported, see below.

If you instead would like to generate and view the HTML locally, install
Sphinx <http://sphinx-doc.org/> and then do:

    cd docs/
    make -f Makefile.sphinx
    $BROWSER _build/html/index.html

The mapping between reStructuredText files and generated documentation is
`docs/Foo.rst` <-> `_build/html/Foo.html` <-> `http://llvm.org/docs/Foo.html`.

If you are interested in writing new documentation, you will want to read
`SphinxQuickstartTemplate.rst` which will get you writing documentation
very fast and includes examples of the most important reStructuredText
markup syntax.

Manpage Output
===============

Building the manpages is similar to building the HTML documentation. The
primary difference is to use the `man` makefile target, instead of the
default (which is `html`). Sphinx then produces the man pages in the
directory `_build/man/`.

    cd docs/
    make -f Makefile.sphinx man
    man -l _build/man/FileCheck.1

The correspondence between .rst files and man pages is
`docs/CommandGuide/Foo.rst` <-> `_build/man/Foo.1`.
These .rst files are also included during HTML generation so they are also
viewable online (as noted above) at e.g.
`http://llvm.org/docs/CommandGuide/Foo.html`.