1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/docs
Hans Wennborg 23e6abebda Trunk release notes now refer to 4.0.0
llvm-svn: 275842
2016-07-18 18:02:23 +00:00
..
_ocamldoc
_static
_templates
_themes/llvm-theme
CommandGuide bugpoint: add flag -verbose-errors 2016-07-15 23:15:06 +00:00
Frontend
HistoricalNotes
TableGen fix some various typos in the doc 2016-07-02 19:28:40 +00:00
tutorial Fixed errors in docs. 2016-07-18 14:13:18 +00:00
AdvancedBuilds.rst
AliasAnalysis.rst Change the email address for commit access requests to my llvm address. 2016-06-23 16:29:22 +00:00
AMDGPUUsage.rst Speculatively fix the sphinx build, which does not think the original code was valid nasm (http://lab.llvm.org:8011/builders/llvm-sphinx-docs/builds/11854/steps/docs-llvm-html/logs/stdio). 2016-07-14 13:08:16 +00:00
ARM-BE-bitcastfail.png
ARM-BE-bitcastsuccess.png
ARM-BE-ld1.png
ARM-BE-ldr.png
Atomics.rst fix some various typos in the doc 2016-07-02 19:28:40 +00:00
BigEndianNEON.rst
BitCodeFormat.rst IR: Allow metadata attachments on declarations, and fix lazy loaded metadata issue with globals. 2016-06-21 23:42:48 +00:00
BlockFrequencyTerminology.rst
BranchWeightMetadata.rst
Bugpoint.rst
CMake.rst [docs] Bump minimum version of CMake in its own doc 2016-06-23 15:28:00 +00:00
CMakeLists.txt
CMakePrimer.rst
CodeGenerator.rst [Docs][CodeGenerator] Don't specify the number of operands in BuildMI 2016-06-29 14:14:59 +00:00
CodeOfConduct.rst [Conduct] Refine what "rare cases" means wrt violations outside our spaces. 2016-07-06 19:32:41 +00:00
CodingStandards.rst
CommandLine.rst
CompileCudaWithLLVM.rst [CUDA] Add section to docs about controlling fp optimizations. 2016-05-25 23:11:31 +00:00
CompilerWriterInfo.rst
conf.py Bump the trunk version to 4.0.0svn. 2016-07-18 17:51:04 +00:00
CoverageMappingFormat.rst
DebuggingJITedCode.rst
DeveloperPolicy.rst Bump the trunk version to 4.0.0svn. 2016-07-18 17:51:04 +00:00
doxygen-mainpage.dox
doxygen.cfg.in
Dummy.html
ExceptionHandling.rst
ExtendedIntegerResults.txt
ExtendingLLVM.rst
Extensions.rst
FAQ.rst
FaultMaps.rst
GarbageCollection.rst
gcc-loops.png
GetElementPtr.rst
GettingStarted.rst [CMake] Update to requiring CMake 3.4.3 2016-05-31 20:21:32 +00:00
GettingStartedVS.rst
GoldPlugin.rst
HowToAddABuilder.rst
HowToBuildOnARM.rst
HowToCrossCompileLLVM.rst
HowToReleaseLLVM.rst
HowToSetUpLLVMStyleRTTI.rst
HowToSubmitABug.rst
HowToUseAttributes.rst
HowToUseInstrMappings.rst
InAlloca.rst
index.rst Introduce a *draft* of a code of conduct for the LLVM community and the 2016-06-30 20:27:54 +00:00
LangRef.rst PR28516: Fix LangRef description of call and invoke to match IR changes for typeless pointers 2016-07-13 17:21:34 +00:00
Lexicon.rst
LibFuzzer.rst [libFuzzer] docs: merge two lines with cmake instructions, add -DLLVM_ENABLE_ASSERTIONS=ON 2016-06-08 01:31:40 +00:00
LinkTimeOptimization.rst Fix LTO document 2016-07-08 00:28:29 +00:00
linpack-pc.png
LLVMBuild.rst
LLVMBuild.txt
make.bat
Makefile.sphinx
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
MergeFunctions.rst fix incorrect xref in sphinx doc 2016-07-13 06:10:37 +00:00
MIRLangRef.rst
NVPTXUsage.rst NVPTX: Replace uses of cuda.syncthreads with nvvm.barrier0 2016-07-06 20:02:45 +00:00
Packaging.rst
Passes.rst Remove the ScalarReplAggregates pass 2016-06-15 00:19:09 +00:00
Phabricator.rst
ProgrammersManual.rst fix incorrect xref in sphinx doc 2016-07-13 06:10:37 +00:00
Projects.rst
re_format.7
README.txt
ReleaseNotes.rst Trunk release notes now refer to 4.0.0 2016-07-18 18:02:23 +00:00
ReleaseProcess.rst
ReportingGuide.rst fix some various typos in the doc 2016-07-02 19:28:40 +00:00
ScudoHardenedAllocator.rst [sanitizer] Initial implementation of a Hardened Allocator 2016-06-07 01:20:26 +00:00
SegmentedStacks.rst
SourceLevelDebugging.rst Synchronize LLVM and clang's ObjCDeclSpec::ObjCPropertyAttributeKind. 2016-07-14 00:41:18 +00:00
SphinxQuickstartTemplate.rst
StackMaps.rst
Statepoints.rst
SystemLibrary.rst
TableGenFundamentals.rst
TestingGuide.rst Review fixes to lit documentation 2016-07-12 20:59:17 +00:00
TestSuiteMakefileGuide.rst
TypeMetadata.rst IR: New representation for CFI and virtual call optimization pass metadata. 2016-06-24 21:21:32 +00:00
Vectorizers.rst
WritingAnLLVMBackend.rst [Docs][WritingAnLLVMBackend] Makefiles are deprecated 2016-05-26 21:31:56 +00:00
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 <build-dir>
    cmake -DLLVM_ENABLE_SPHINX=true -DSPHINX_OUTPUT_HTML=true <src-dir>
    make -j3 docs-llvm-html
    $BROWSER <build-dir>/docs//html/index.html

The mapping between reStructuredText files and generated documentation is
`docs/Foo.rst` <-> `<build-dir>/docs//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-dir>/docs/man/`.

    cd <build-dir>
    cmake -DLLVM_ENABLE_SPHINX=true -DSPHINX_OUTPUT_MAN=true <src-dir>
    make -j3 docs-llvm-man
    man -l >build-dir>/docs/man/FileCheck.1

The correspondence between .rst files and man pages is
`docs/CommandGuide/Foo.rst` <-> `<build-dir>/docs//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`.

Checking links
==============

The reachability of external links in the documentation can be checked by
running:

    cd docs/
    make -f Makefile.sphinx linkcheck