hanchenye-llvm-project/llvm/docs
Sanjoy Das 151493a00f [LangRef] Add a clarifying example for undef
llvm-svn: 281570
2016-09-15 01:56:58 +00:00
..
CommandGuide [llvm-cov] Add some documentation for the -tab-size option 2016-08-04 18:00:42 +00:00
Frontend
HistoricalNotes
Proposals [docs] Add sub-mod example by Chris to GitHub proposal 2016-07-28 20:57:25 +00:00
TableGen [docs] Fixing Sphinx warnings to unclog the buildbot 2016-07-20 12:16:38 +00:00
_ocamldoc
_static Fix some typos in the doc 2016-08-28 20:29:18 +00:00
_templates
_themes/llvm-theme
tutorial [Docs] Fix a broken link in the Kaleidoscope tutorial. 2016-09-13 06:31:37 +00:00
AMDGPUUsage.rst This code block breaks the docs build (http://lab.llvm.org:8011/builders/llvm-sphinx-docs/builds/11920/steps/docs-llvm-html/logs/stdio), but I cannot see anything immediately wrong with it and cannot reproduce the diagnostic locally. Setting the code highlighting to none instead of nasm to hopefully get the bot stumbling back towards green. 2016-07-19 17:46:55 +00:00
ARM-BE-bitcastfail.png
ARM-BE-bitcastsuccess.png
ARM-BE-ld1.png
ARM-BE-ldr.png
AdvancedBuilds.rst
AliasAnalysis.rst [Docs] Add initial MemorySSA documentation. 2016-08-17 00:17:29 +00:00
Atomics.rst fix some various typos in the doc 2016-07-02 19:28:40 +00:00
BigEndianNEON.rst
BitCodeFormat.rst This code block breaks the docs build (http://lab.llvm.org:8011/builders/llvm-sphinx-docs/builds/11921/steps/docs-llvm-html/logs/stdio). Setting the code highlighting to none instead of llvm to hopefully get the bot stumbling back towards green. 2016-07-19 20:20:03 +00:00
BlockFrequencyTerminology.rst
BranchWeightMetadata.rst This code block breaks the docs build (http://lab.llvm.org:8011/builders/llvm-sphinx-docs/builds/11925/steps/docs-llvm-html/logs/stdio). Setting the code highlighting to none instead of llvm. 2016-07-19 23:50:11 +00:00
Bugpoint.rst
CMake.rst [CMake] Revive LLVM_*_DIRS variables 2016-09-01 16:43:39 +00:00
CMakeLists.txt [CMake] [OCaml] Add -DLLVM_ENABLE_OCAMLDOC switch 2016-08-23 18:07:16 +00:00
CMakePrimer.rst [docs] fix cmake code-block warning 2016-07-20 09:47:09 +00:00
CodeGenerator.rst Fix some typos in the doc 2016-08-28 20:29:18 +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 Make the coding standards a bit more clear that we prefer the fancy new 2016-09-01 22:18:25 +00:00
CommandLine.rst
CompileCudaWithLLVM.rst [CUDA] Rework "optimizations" and "publication" section in CompileCudaWithLLVM.rst. 2016-09-07 21:46:53 +00:00
CompilerWriterInfo.rst Fix link quotes on AArch64's CompilerWriterInfo section. 2016-08-18 22:10:06 +00:00
Coroutines.rst Changing a code block to text because Sphinx does not like it on the builder (http://lab.llvm.org:8011/builders/llvm-sphinx-docs/builds/12517/steps/docs-llvm-html/logs/stdio) 2016-08-31 14:37:20 +00:00
CoverageMappingFormat.rst Removes a warning about duplicate label named _strings from CommandLine.rst. 2016-07-23 18:52:21 +00:00
DebuggingJITedCode.rst
DeveloperPolicy.rst wordsmith the "new targets" section a bit. 2016-08-17 22:17:03 +00:00
Dummy.html
ExceptionHandling.rst [docs] Fixing Sphinx warnings to unclog the buildbot 2016-07-20 12:16:38 +00:00
ExtendedIntegerResults.txt
ExtendingLLVM.rst
Extensions.rst [docs] Fixing Sphinx warnings to unclog the buildbot 2016-07-20 12:16:38 +00:00
FAQ.rst fix some typos in the doc 2016-07-28 09:28:58 +00:00
FaultMaps.rst
GarbageCollection.rst [docs] Fixing Sphinx warnings to unclog the buildbot 2016-07-20 12:16:38 +00:00
GetElementPtr.rst [docs] Fixing Sphinx warnings to unclog the buildbot 2016-07-20 12:16:38 +00:00
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 [docs] Fix unexpected indentation in HowToCrossCompileLLVM.rst 2016-05-10 14:02:46 +00:00
HowToReleaseLLVM.rst Adding RELEASE_TESTERS.TXT 2016-07-21 16:46:44 +00:00
HowToSetUpLLVMStyleRTTI.rst
HowToSubmitABug.rst
HowToUseAttributes.rst
HowToUseInstrMappings.rst [docs] Fixing Sphinx warnings to unclog the buildbot 2016-07-20 12:16:38 +00:00
InAlloca.rst [docs] Fixing Sphinx warnings to unclog the buildbot 2016-07-20 12:16:38 +00:00
LLVMBuild.rst
LLVMBuild.txt
LangRef.rst [LangRef] Add a clarifying example for undef 2016-09-15 01:56:58 +00:00
Lexicon.rst
LibFuzzer.rst [libFuzzer] remove use_traces=1 since use_value_profile seems to be strictly better 2016-09-09 01:17:03 +00:00
LinkTimeOptimization.rst Fix LTO document 2016-07-08 00:28:29 +00:00
MCJIT-creation.png
MCJIT-dyld-load.png
MCJIT-engine-builder.png
MCJIT-load-object.png
MCJIT-load.png
MCJIT-resolve-relocations.png
MCJITDesignAndImplementation.rst
MIRLangRef.rst [docs] Fixing Sphinx warnings to unclog the buildbot 2016-07-20 12:16:38 +00:00
Makefile.sphinx
MarkedUpDisassembly.rst [docs] Fixing Sphinx warnings to unclog the buildbot 2016-07-20 12:16:38 +00:00
MemorySSA.rst Fix some typos in the doc 2016-08-28 20:29:18 +00:00
MergeFunctions.rst [docs] Fixing Sphinx warnings to unclog the buildbot 2016-07-20 12:16:38 +00:00
NVPTXUsage.rst [docs] Fixing Sphinx warnings to unclog the buildbot 2016-07-20 12:16:38 +00:00
OptBisect.rst Adding document describing the use of the -opt-bisect-limit option. 2016-08-26 23:11:48 +00:00
Packaging.rst
Passes.rst Remove the ScalarReplAggregates pass 2016-06-15 00:19:09 +00:00
Phabricator.rst
ProgrammersManual.rst Fixed a typo (LLVM/Support/CFG.h -> LLVM/IR/CFG.h) 2016-09-02 11:13:35 +00:00
Projects.rst
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 [scudo] Documentation update for Scudo, from https://reviews.llvm.org/D23332 2016-08-09 23:57:04 +00:00
SegmentedStacks.rst [docs] Fixing Sphinx warnings to unclog the buildbot 2016-07-20 12:16:38 +00:00
SourceLevelDebugging.rst [docs] Fixing Sphinx warnings to unclog the buildbot 2016-07-20 12:16:38 +00:00
SphinxQuickstartTemplate.rst
StackMaps.rst [Stackmap] Added callsite counts to emitted function information. 2016-09-14 20:22:03 +00:00
Statepoints.rst [docs] Fixing Sphinx warnings to unclog the buildbot 2016-07-20 12:16:38 +00:00
SystemLibrary.rst
TableGenFundamentals.rst
TestSuiteMakefileGuide.rst
TestingGuide.rst Review fixes to lit documentation 2016-07-12 20:59:17 +00:00
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] Fixing Sphinx warnings to unclog the buildbot 2016-07-20 12:16:38 +00:00
WritingAnLLVMPass.rst [docs] Fixing Sphinx warnings to unclog the buildbot 2016-07-20 12:16:38 +00:00
YamlIO.rst
conf.py Fix some typos in the doc 2016-08-28 20:29:18 +00:00
doxygen-mainpage.dox
doxygen.cfg.in Fix some typos in the doc 2016-08-28 20:29:18 +00:00
gcc-loops.png
index.rst Adding document describing the use of the -opt-bisect-limit option. 2016-08-26 23:11:48 +00:00
linpack-pc.png
make.bat
re_format.7
yaml2obj.rst

README.txt

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