llvm-mirror/docs
2020-09-01 11:44:02 -07:00
..
_ocamldoc
_static
_templates [www] More HTTPS and outdated link fixes. 2019-11-08 14:41:27 -08:00
_themes/llvm-theme [Docs] Updates sidebar links and sets max-width property for div.body 2019-10-15 21:27:20 +00:00
AMDGPU [AMDGPU][MC][NFC][DOC] Updated AMD GPU assembler syntax description. 2020-08-21 14:25:14 +03:00
CommandGuide [docs] Fix indentation in FileCheck.rst 2020-08-31 13:20:04 -07:00
DependenceGraphs [llvm] NFC: fix trivial typos in documents 2020-01-22 11:32:51 +08:00
Frontend update of the llvm doc: we moved to git 2020-03-22 22:36:21 +01:00
GlobalISel GlobalISel: Make type for lower action more consistently optional 2020-08-17 16:24:55 -04:00
HistoricalNotes Doc: Links should use https 2020-03-22 22:49:33 +01:00
PDB Fix a few spellos in docs. 2019-09-13 14:58:24 +00:00
Proposals [docs/examples] As part of using inclusive language within the llvm 2020-06-20 00:51:18 -07:00
TableGen Replace TableGen range piece punctuator with '...' 2020-08-21 23:33:57 +02:00
tutorial Fix typo in tutorial 2020-07-21 17:28:24 +02:00
AddingConstrainedIntrinsics.rst [FEnv] Fix AddingConstrainedIntrinsics.rst after llvmorg-10-init-10282-g0c50c0b0552 2019-11-19 23:09:13 -08:00
AdvancedBuilds.rst Use backquotes to avoid a sphinx unexpected error: 2018-12-16 14:19:39 +00:00
AliasAnalysis.rst [docs] Fix typos 2020-08-09 19:31:49 -07:00
AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst [AMDGPU, docs] Fix typos 2020-08-25 00:00:23 +05:30
AMDGPUInstructionNotation.rst [AMDGPU][MC][NFC][DOC] Updated AMD GPU assembler syntax description. 2020-08-21 14:25:14 +03:00
AMDGPUInstructionSyntax.rst [AMDGPU][MC][NFC][DOC] Updated AMD GPU assembler syntax description. 2020-08-21 14:25:14 +03:00
AMDGPUModifierSyntax.rst [AMDGPU][MC][NFC][DOC] Updated AMD GPU assembler syntax description. 2020-08-21 14:25:14 +03:00
AMDGPUOperandSyntax.rst [AMDGPU][MC][NFC][DOC] Updated AMD GPU assembler syntax description. 2020-08-21 14:25:14 +03:00
AMDGPUUsage.rst [AMDGPU] Correct DWARF register defintions 2020-08-20 01:15:04 +00:00
ARM-BE-bitcastfail.png
ARM-BE-bitcastsuccess.png
ARM-BE-ld1.png
ARM-BE-ldr.png
Atomics.rst [llvm] NFC: fix trivial typos in documents 2020-01-22 11:32:51 +08:00
Benchmarking.rst
BigEndianNEON.rst [llvm] NFC: fix trivial typos in documents 2020-01-22 11:32:51 +08:00
BitCodeFormat.rst [LangRef] Introduce noundef attribute for fully defined function params 2020-07-08 19:02:04 +00:00
BlockFrequencyTerminology.rst [llvm] NFC: fix trivial typos in documents 2020-01-22 11:32:51 +08:00
BranchWeightMetadata.rst Add support of __builtin_expect_with_probability 2020-06-22 10:21:28 -07:00
BugLifeCycle.rst [docs] Fix typos 2020-08-09 19:31:49 -07:00
Bugpoint.rst [llvm] NFC: fix trivial typos in documents 2020-01-22 11:32:51 +08:00
BugpointRedesign.md [Bugpoint redesign] Fix nonlocal URI link in doc 2019-08-09 21:48:47 +00:00
BuildingADistribution.rst Remove AllTargetsAsmPrinters 2020-01-17 19:04:06 -05:00
CFIVerify.rst
CMake.rst Fix sphinx documentation after a6a37a2fcd2a8048a75bd0d8280497ed89d73224 2020-08-31 08:06:13 -04:00
CMakeLists.txt
CMakePrimer.rst [CMake] Bump CMake minimum version to 3.13.4 2020-07-22 14:25:07 -04:00
CodeGenerator.rst [llvm] NFC: fix trivial typos in documents 2020-01-22 11:32:51 +08:00
CodeOfConduct.rst
CodeReview.rst High-Level Code-Review Documentation Update 2020-03-07 04:20:18 +00:00
CodingStandards.rst [doc] Describe the header guard style 2020-07-30 16:08:07 -07:00
CommandLine.rst [ConstProp] Remove ConstantPropagation 2020-08-26 15:51:30 -07:00
CompileCudaWithLLVM.rst doc: use the right url to bugzilla 2020-03-22 22:49:40 +01:00
CompilerWriterInfo.rst [PowerPC][docs] Update Embedded PowerPC docs in Compiler Writers Info page 2019-12-30 20:22:37 +00:00
conf.py Bump forgotten version nbr in llvm/docs/conf.py 2020-08-05 17:11:59 +02:00
Contributing.rst [docs] LLVM Security Group and Process 2020-07-10 15:24:02 -07:00
Coroutines.rst fix another doc typo to cycle bots 2019-12-20 21:59:51 -05:00
CoverageMappingFormat.rst Reland: [Coverage] Revise format to reduce binary size 2020-02-28 18:12:04 -08:00
DebuggingJITedCode.rst [docs] Fix references to a renamed flag. 2019-11-06 14:42:57 -08:00
DeveloperPolicy.rst [Docs] Fixed missing closing quote character 2020-08-11 11:21:15 +02:00
Docker.rst update of the llvm doc: we moved to git 2020-03-22 22:36:21 +01:00
doxygen-mainpage.dox
doxygen.cfg.in [docs] update mathjax path in doxygen 2020-02-07 16:26:35 +00:00
ExceptionHandling.rst [docs] Fix typos 2020-08-09 19:31:49 -07:00
ExtendedIntegerResults.txt
ExtendingLLVM.rst Fix incorrect file path in documentation 2020-07-16 15:53:11 -04:00
Extensions.rst [llvm] NFC: Fix trivial typo in rst and td files 2020-04-23 14:26:32 +09:00
FAQ.rst Doc: Links should use https 2020-03-22 22:49:33 +01:00
FaultMaps.rst
FuzzingLLVM.rst [llvm] NFC: fix trivial typos in documents 2020-01-22 11:32:51 +08:00
GarbageCollection.rst [AsmPrinter] De-capitalize all AsmPrinter::Emit* but EmitInstruction 2020-02-13 17:06:24 -08:00
gcc-loops.png
GetElementPtr.rst [DOC] Fix load instructions' syntax, function definition. 2019-06-12 11:24:22 +00:00
GettingInvolved.rst Add the CodeReview Documentation to GettingInvolved TOC 2020-03-07 04:55:46 +00:00
GettingStarted.rst [CMake] Bump CMake minimum version to 3.13.4 2020-07-22 14:25:07 -04:00
GettingStartedTutorials.rst [Docs] Adds Documentation links to sidebar 2019-10-09 20:26:13 +00:00
GettingStartedVS.rst Doc: Links should use https 2020-03-22 22:49:33 +01:00
GitBisecting.rst git bisect docs: formatting tweaks 2020-02-10 15:47:59 -05:00
GoldPlugin.rst [docs][gold] Fix a typo 2018-08-21 21:00:54 +00:00
GwpAsan.rst [llvm] NFC: fix trivial typos in documents 2020-01-22 11:32:51 +08:00
HowToAddABuilder.rst [docs/examples] As part of using inclusive language within the llvm 2020-06-20 00:51:18 -07:00
HowToBuildOnARM.rst [llvm] NFC: fix trivial typos in documents 2020-01-22 11:32:51 +08:00
HowToBuildWithPGO.rst [docs] NFC: Fix typos in documents 2020-01-07 16:06:14 +01:00
HowToCrossCompileBuiltinsOnArm.rst [llvm] NFC: fix trivial typos in documents 2020-01-22 11:32:51 +08:00
HowToCrossCompileLLVM.rst Doc: Links should use https 2020-03-22 22:49:33 +01:00
HowToReleaseLLVM.rst Remove some autoconf references from docs and comments 2019-07-03 09:57:59 +00:00
HowToSetUpLLVMStyleRTTI.rst [docs] Fix typos 2020-08-09 19:31:49 -07:00
HowToSubmitABug.rst [docs] LLVM Security Group and Process 2020-07-10 15:24:02 -07:00
HowToUpdateDebugInfo.rst [docs] Fix typo 2020-06-24 11:51:21 -07:00
HowToUseAttributes.rst Remove references to the 4.0 release as a major breaking (NFC) 2020-06-25 23:49:07 +00:00
HowToUseInstrMappings.rst [llvm] NFC: Fix trivial typo in rst and td files 2020-04-23 14:26:32 +09:00
InAlloca.rst
index.rst [docs] LLVM Security Group and Process 2020-07-10 15:24:02 -07:00
LangRef.rst [LangRef] Apply a missing comment from D86189 2020-08-30 14:56:17 +09:00
Lexicon.rst [Lexicon] fix typo "may is" -> "is" 2020-04-26 19:35:25 +01:00
LibFuzzer.rst Revert "Add libFuzzer shared object build output" 2020-08-05 12:11:24 -07:00
LinkTimeOptimization.rst [LTO][Legacy] Add new API to query Mach-O CPU (sub)type 2020-02-28 12:56:05 -08:00
linpack-pc.png
llvm-objdump.1 Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LLVMBuild.rst
LLVMBuild.txt Doc: Links should use https 2020-03-22 22:49:33 +01:00
loop-terminology-guarded-loop.png [LoopTerminology] Rotated Loops images 2020-03-17 01:02:19 +02:00
loop-terminology-initial-loop.png [LoopTerminology] Rotated Loops images 2020-03-17 01:02:19 +02:00
loop-terminology-rotated-loop.png [LoopTerminology] Rotated Loops images 2020-03-17 01:02:19 +02:00
LoopTerminology.rst [LoopTerminology] LCSSA: Fix typo in code sample 2020-04-12 04:40:55 +03:00
make.bat
Makefile.sphinx
MarkdownQuickstartTemplate.md Doc: Links should use https 2020-03-22 22:49:33 +01:00
MarkedUpDisassembly.rst [llvm] NFC: fix trivial typos in documents 2020-01-22 11:32:51 +08: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
MeetupGuidelines.rst Add guidelines/recommendations for organizers of LLVM Socials 2019-05-14 07:20:58 +00:00
MemorySSA.rst [docs] Fix typos 2020-08-09 19:31:49 -07:00
MemTagSanitizer.rst Fix MemTagSanitizer docs to point at Armv8.5-A MTE 2020-03-05 17:23:58 +00:00
MergeFunctions.rst MergeFunctions.rst - multiply vs shift typo (PR44717) 2020-03-23 10:13:25 +00:00
MIRLangRef.rst [globalisel][docs] Rework GMIR documentation and add an early GenericOpcode reference 2019-11-05 15:16:43 -08:00
NVPTXUsage.rst
OptBisect.rst [LegacyPassManager] Delete BasicBlockPass/Manager. 2019-10-30 11:40:16 -07:00
ORCv2.rst Typos around a -> an. 2020-06-20 14:04:48 -07:00
Packaging.rst update of the llvm doc: we moved to git 2020-03-22 22:36:21 +01:00
Passes.rst [ConstProp] Remove ConstantPropagation 2020-08-26 15:51:30 -07:00
Phabricator.rst [docs] Fix typos 2020-08-09 19:31:49 -07:00
ProgrammersManual.rst [CallSite removal] Remove the text describing CallSite from the manual. 2020-04-23 22:17:19 -04:00
Projects.rst
re_format.7
README.txt Doc: Links should use https 2020-03-22 22:49:33 +01:00
Reference.rst [docs] LLVM Security Group and Process 2020-07-10 15:24:02 -07:00
ReleaseNotes.rst First commit on the release/11.x branch. 2020-09-01 11:44:02 -07:00
ReleaseProcess.rst Doc: Links should use https 2020-03-22 22:49:33 +01:00
Remarks.rst [Remarks] Extend the RemarkStreamer to support other emitters 2020-02-04 17:16:02 -08:00
ReportingGuide.rst [llvm] NFC: fix trivial typos in documents 2020-01-22 11:32:51 +08:00
ScudoHardenedAllocator.rst [docs] Scudo: document error messages & their potential cause 2019-01-22 16:43:45 +00:00
Security.rst [docs] Fix typos 2020-08-09 19:31:49 -07:00
SegmentedStacks.rst
SourceLevelDebugging.rst [DebugInfo][flang]Added support for representing Fortran assumed length strings 2020-08-22 10:13:40 +05:30
speculative_load_hardening_microbenchmarks.png
SpeculativeLoadHardening.md Fix a few spellos in docs. 2019-09-13 14:58:24 +00:00
SphinxQuickstartTemplate.rst Doc: Links should use https 2020-03-22 22:49:33 +01:00
StackMaps.rst [docs] Clarify ELF section naming for StackMaps and fix a typo 2018-11-08 17:20:35 +00:00
StackSafetyAnalysis.rst Remove trailing empty line 2018-11-26 23:17:52 +00:00
Statepoints.rst Remove inline gc arguments from statepoints 2020-08-14 19:44:24 -07:00
SupportLibrary.rst [Docs] [Support] Correct a missed reference and use up to date .inc examples. 2018-09-21 01:53:51 +00:00
SystemLibrary.rst [Docs] [Support] System Library to Support Library transition along with minor corrections to reflect it. 2018-09-18 18:05:38 +00:00
TableGenFundamentals.rst
TestingGuide.rst Add test utility 'split-file' 2020-08-03 20:42:09 -07:00
TestSuiteGuide.md [docs] Fix typos 2020-08-09 19:31:49 -07:00
TestSuiteMakefileGuide.rst Adjust documentation for git migration. 2019-01-29 16:37:27 +00:00
TransformMetadata.rst [llvm] NFC: fix trivial typos in documents 2020-01-22 11:32:51 +08:00
TypeMetadata.rst Doc: Links should use https 2020-03-22 22:49:33 +01:00
UserGuides.rst [AMDGPU] Fix DWARF extensions User Guide table of contents 2020-07-30 05:10:21 +00:00
Vectorizers.rst [Docs] remove unused arguments in documentation examples on vectorization passes 2020-07-27 10:20:26 +01:00
WritingAnLLVMBackend.rst Update spelling of {analyze,insert,remove}Branch in strings and comments 2020-01-21 10:15:38 -06:00
WritingAnLLVMPass.rst [Docs][BasicAA] Rename some more basicaa -> basic-aa 2020-06-30 17:03:45 -07:00
XRay.rst [Docs] Update of Xray page 2018-07-26 04:44:31 +00:00
XRayExample.rst [XRay][docs] Fix option name 2019-03-12 13:44:42 +00:00
XRayFDRFormat.rst [llvm] NFC: fix trivial typos in documents 2020-01-22 11:32:51 +08:00
yaml2obj.rst
YamlIO.rst remove a trailing space character (test commit) 2020-01-27 15:01:55 -08: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 <https://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` <-> `https://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.
`https://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

Doxygen page Output
==============

Install doxygen <http://www.stack.nl/~dimitri/doxygen/download.html> and dot2tex <https://dot2tex.readthedocs.io/en/latest>.

    cd <build-dir>
    cmake -DLLVM_ENABLE_DOXYGEN=On <llvm-top-src-dir>
    make doxygen-llvm # for LLVM docs
    make doxygen-clang # for clang docs

It will generate html in

    <build-dir>/docs/doxygen/html # for LLVM docs
    <build-dir>/tools/clang/docs/doxygen/html # for clang docs