You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
jianglk.darker 7ee447c011
v811_spc009_project
4 months ago
..
CommandGuide v811_spc009_project 4 months ago
Frontend v811_spc009_project 4 months ago
HistoricalNotes v811_spc009_project 4 months ago
TableGen v811_spc009_project 4 months ago
_ocamldoc v811_spc009_project 4 months ago
_static v811_spc009_project 4 months ago
_templates v811_spc009_project 4 months ago
_themes/llvm-theme v811_spc009_project 4 months ago
tutorial v811_spc009_project 4 months ago
AMDGPUUsage.rst v811_spc009_project 4 months ago
ARM-BE-bitcastfail.png v811_spc009_project 4 months ago
ARM-BE-bitcastsuccess.png v811_spc009_project 4 months ago
ARM-BE-ld1.png v811_spc009_project 4 months ago
ARM-BE-ldr.png v811_spc009_project 4 months ago
AdvancedBuilds.rst v811_spc009_project 4 months ago
AliasAnalysis.rst v811_spc009_project 4 months ago
Atomics.rst v811_spc009_project 4 months ago
BigEndianNEON.rst v811_spc009_project 4 months ago
BitCodeFormat.rst v811_spc009_project 4 months ago
BlockFrequencyTerminology.rst v811_spc009_project 4 months ago
BranchWeightMetadata.rst v811_spc009_project 4 months ago
Bugpoint.rst v811_spc009_project 4 months ago
CMake.rst v811_spc009_project 4 months ago
CMakeLists.txt v811_spc009_project 4 months ago
CMakePrimer.rst v811_spc009_project 4 months ago
CodeGenerator.rst v811_spc009_project 4 months ago
CodeOfConduct.rst v811_spc009_project 4 months ago
CodingStandards.rst v811_spc009_project 4 months ago
CommandLine.rst v811_spc009_project 4 months ago
CompileCudaWithLLVM.rst v811_spc009_project 4 months ago
CompilerWriterInfo.rst v811_spc009_project 4 months ago
CoverageMappingFormat.rst v811_spc009_project 4 months ago
DebuggingJITedCode.rst v811_spc009_project 4 months ago
DeveloperPolicy.rst v811_spc009_project 4 months ago
Dummy.html v811_spc009_project 4 months ago
ExceptionHandling.rst v811_spc009_project 4 months ago
ExtendedIntegerResults.txt v811_spc009_project 4 months ago
ExtendingLLVM.rst v811_spc009_project 4 months ago
Extensions.rst v811_spc009_project 4 months ago
FAQ.rst v811_spc009_project 4 months ago
FaultMaps.rst v811_spc009_project 4 months ago
GarbageCollection.rst v811_spc009_project 4 months ago
GetElementPtr.rst v811_spc009_project 4 months ago
GettingStarted.rst v811_spc009_project 4 months ago
GettingStartedVS.rst v811_spc009_project 4 months ago
GoldPlugin.rst v811_spc009_project 4 months ago
HowToAddABuilder.rst v811_spc009_project 4 months ago
HowToBuildOnARM.rst v811_spc009_project 4 months ago
HowToCrossCompileLLVM.rst v811_spc009_project 4 months ago
HowToReleaseLLVM.rst v811_spc009_project 4 months ago
HowToSetUpLLVMStyleRTTI.rst v811_spc009_project 4 months ago
HowToSubmitABug.rst v811_spc009_project 4 months ago
HowToUseAttributes.rst v811_spc009_project 4 months ago
HowToUseInstrMappings.rst v811_spc009_project 4 months ago
InAlloca.rst v811_spc009_project 4 months ago
LLVMBuild.rst v811_spc009_project 4 months ago
LLVMBuild.txt v811_spc009_project 4 months ago
LangRef.rst v811_spc009_project 4 months ago
Lexicon.rst v811_spc009_project 4 months ago
LibFuzzer.rst v811_spc009_project 4 months ago
LinkTimeOptimization.rst v811_spc009_project 4 months ago
MCJIT-creation.png v811_spc009_project 4 months ago
MCJIT-dyld-load.png v811_spc009_project 4 months ago
MCJIT-engine-builder.png v811_spc009_project 4 months ago
MCJIT-load-object.png v811_spc009_project 4 months ago
MCJIT-load.png v811_spc009_project 4 months ago
MCJIT-resolve-relocations.png v811_spc009_project 4 months ago
MCJITDesignAndImplementation.rst v811_spc009_project 4 months ago
MIRLangRef.rst v811_spc009_project 4 months ago
Makefile.sphinx v811_spc009_project 4 months ago
MarkedUpDisassembly.rst v811_spc009_project 4 months ago
MergeFunctions.rst v811_spc009_project 4 months ago
NVPTXUsage.rst v811_spc009_project 4 months ago
Packaging.rst v811_spc009_project 4 months ago
Passes.rst v811_spc009_project 4 months ago
Phabricator.rst v811_spc009_project 4 months ago
ProgrammersManual.rst v811_spc009_project 4 months ago
Projects.rst v811_spc009_project 4 months ago
README.txt v811_spc009_project 4 months ago
ReleaseNotes.rst v811_spc009_project 4 months ago
ReleaseProcess.rst v811_spc009_project 4 months ago
ReportingGuide.rst v811_spc009_project 4 months ago
ScudoHardenedAllocator.rst v811_spc009_project 4 months ago
SegmentedStacks.rst v811_spc009_project 4 months ago
SourceLevelDebugging.rst v811_spc009_project 4 months ago
SphinxQuickstartTemplate.rst v811_spc009_project 4 months ago
StackMaps.rst v811_spc009_project 4 months ago
Statepoints.rst v811_spc009_project 4 months ago
SystemLibrary.rst v811_spc009_project 4 months ago
TableGenFundamentals.rst v811_spc009_project 4 months ago
TestSuiteMakefileGuide.rst v811_spc009_project 4 months ago
TestingGuide.rst v811_spc009_project 4 months ago
TypeMetadata.rst v811_spc009_project 4 months ago
Vectorizers.rst v811_spc009_project 4 months ago
WritingAnLLVMBackend.rst v811_spc009_project 4 months ago
WritingAnLLVMPass.rst v811_spc009_project 4 months ago
YamlIO.rst v811_spc009_project 4 months ago
conf.py v811_spc009_project 4 months ago
doxygen-mainpage.dox v811_spc009_project 4 months ago
doxygen.cfg.in v811_spc009_project 4 months ago
gcc-loops.png v811_spc009_project 4 months ago
index.rst v811_spc009_project 4 months ago
linpack-pc.png v811_spc009_project 4 months ago
make.bat v811_spc009_project 4 months ago
re_format.7 v811_spc009_project 4 months ago
yaml2obj.rst v811_spc009_project 4 months ago

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