llvm-6502/docs
Chandler Carruth 36b191fc1c [docs] Actually spell out the new version requirements for the host C++
toolchain of LLVM. These are already being enforced by the build system
and have been discussed quite a few times on the lists, but
documentation is important. =]

Also, garbage collect the majority of the information about broken host
GCC toolchains. These aren't really relevant any more as they're all
older than the minimum requirement. I've left a few notes about
compilers one step older than the current requirement as these compilers
are at least conceivable to use, and it's better to preserve this kind
of hard-won institutional knowledge.

The next step will be some specific docs on how to set up a sufficiently
modern host toolchain if your system doesn't come with one. But that'll
be tomorrow. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202375 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-27 10:35:57 +00:00
..
_static
_templates
_themes/llvm-theme
CommandGuide [docs] Clean up some more llvm-gcc stuff 2014-02-19 00:12:34 +00:00
HistoricalNotes
TableGen [docs] TableGen easter egg: Multiline string literals 2014-02-09 02:43:50 +00:00
tutorial [docs] Clean up some more llvm-gcc stuff 2014-02-19 00:12:34 +00:00
AliasAnalysis.rst
Atomics.rst
BitCodeFormat.rst [ms-cxxabi] Add a new calling convention that swaps 'this' and 'sret' 2014-01-31 17:41:22 +00:00
BranchWeightMetadata.rst
Bugpoint.rst
CMake.rst CMake : optionaly enable LLVM to be compiled with -std=c++11 (default: off) 2013-11-26 10:33:53 +00:00
CMakeLists.txt
CodeGenerator.rst [ms-cxxabi] Add a new calling convention that swaps 'this' and 'sret' 2014-01-31 17:41:22 +00:00
CodingStandards.rst Revert my commit in r199620 that added sections about namespaces to the 2014-01-20 10:15:32 +00:00
CommandLine.rst Correct word hyphenations 2013-12-05 05:44:44 +00:00
CompilerWriterInfo.rst Update the links to the SPARC information. 2013-12-19 20:54:33 +00:00
conf.py Update the copyright credits -- Happy new year 2014! 2014-01-01 08:27:31 +00:00
DebuggingJITedCode.rst
DeveloperPolicy.rst [docs] Clean up some more llvm-gcc stuff 2014-02-19 00:12:34 +00:00
doxygen.cfg.in Fix documentation typos 2013-12-20 00:33:39 +00:00
doxygen.css
doxygen.footer Update the copyright credits -- Happy new year 2014! 2014-01-01 08:27:31 +00:00
doxygen.header
doxygen.intro
Dummy.html
ExceptionHandling.rst Exception handling docs: Fix a typo 2014-02-27 06:54:04 +00:00
ExtendedIntegerResults.txt
ExtendingLLVM.rst
Extensions.rst Fix typo 2014-02-15 06:02:36 +00:00
FAQ.rst
GarbageCollection.rst
gcc-loops.png
GetElementPtr.rst [docs] Clean up some more llvm-gcc stuff 2014-02-19 00:12:34 +00:00
GettingStarted.rst [docs] Actually spell out the new version requirements for the host C++ 2014-02-27 10:35:57 +00:00
GettingStartedVS.rst Updating the getting started guide for Visual Studio a smidge. 2014-01-23 20:46:44 +00:00
GoldPlugin.rst Update the LTO GoldPlugin documentation 2013-12-02 07:15:33 +00:00
HowToAddABuilder.rst
HowToBuildOnARM.rst Adding some info about stability of ARM boards 2013-11-15 08:42:14 +00:00
HowToCrossCompileLLVM.rst
HowToReleaseLLVM.rst HowToReleaseLLVM: Add information about dot releases 2014-02-04 17:18:20 +00:00
HowToSetUpLLVMStyleRTTI.rst
HowToSubmitABug.rst [docs] Nuke some references to llvm-gcc 2014-02-18 23:56:43 +00:00
HowToUseAttributes.rst
HowToUseInstrMappings.rst
InAlloca.rst Change inalloca rules to make it only apply to the last parameter 2014-01-16 22:59:24 +00:00
index.rst LangRef documentation for the stackmap and patchpoint intrinsics. 2013-12-24 02:57:25 +00:00
LangRef.rst Lower llvm.expect intrinsic correctly for i1 2014-02-02 22:43:55 +00:00
Lexicon.rst
LinkTimeOptimization.rst
linpack-pc.png
LLVMBuild.rst Fix documentation typos 2013-12-20 00:33:39 +00:00
LLVMBuild.txt
make.bat
Makefile
Makefile.sphinx
MakefileGuide.rst Remove stray '_'. 2013-10-28 21:43:54 +00:00
MarkedUpDisassembly.rst
MCJIT-creation.png
MCJIT-dyld-load.png
MCJIT-engine-builder.png
MCJIT-load-object.png
MCJIT-load.png
MCJIT-resolve-relocations.png
MCJITDesignAndImplementation.rst
NVPTXUsage.rst Fix documentation typos 2013-12-20 00:33:39 +00:00
Packaging.rst
Passes.rst Typos. (Test commit.) 2013-11-14 18:47:23 +00:00
Phabricator.rst Add a note about using "Differential Revision:" in commit messages 2014-02-11 16:58:03 +00:00
ProgrammersManual.rst Typos. (Test commit.) 2013-11-14 18:47:23 +00:00
Projects.rst
re_format.7
README.txt
ReleaseNotes.rst Make DisableIntegratedAS a TargetOption. 2014-02-21 03:13:54 +00:00
ReleaseProcess.rst
SegmentedStacks.rst
SourceLevelDebugging.rst Correct word hyphenations 2013-12-05 05:44:44 +00:00
SphinxQuickstartTemplate.rst
StackMaps.rst [Stackmaps] Record the stack size of each function that contains a stackmap/patchpoint intrinsic. 2014-01-30 18:58:27 +00:00
SystemLibrary.rst
TableGenFundamentals.rst [docs] [tblgen] clarify that code fragments are just string literals 2014-02-09 02:54:26 +00:00
TestingGuide.rst Cleanup docs about lit substitutions 2014-02-15 08:35:56 +00:00
TestSuiteMakefileGuide.rst
Vectorizers.rst
WritingAnLLVMBackend.rst Add a RequireStructuredCFG Field to TargetMachine. 2013-12-07 01:49:19 +00:00
WritingAnLLVMPass.rst fix RST reference in Writing an LLVM Pass 2013-10-30 17:09:32 +00:00
yaml2obj.rst Fix common typos in the docs. 2013-10-29 17:53:27 +00:00
YamlIO.rst Fix documentation typos 2013-12-20 00:33:39 +00:00

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`.