llvm/docs
Vedant Kumar 654072f80a [docs] Improvements to CMake.rst
- Fix some grammatical and typographical errors.
- Try to improve upon some awkward/nonstandard phrasings.
- Expand slightly the treatment of how you specify arguments to cmake.
- Update the list of possible LLVM_BUILD_TESTS and state where to find the
  definitive list.
- Correct the name of llvm-tblgen.
- Expand slightly the treatment of several build options, including
  LLVM_LIT_TOOLS_DIR, LLVM_ENABLE_FFI, and LLVM_EXTERNAL_project_SOURCE_DIR.

Patch by Brian R. Gaeke!

Differential Revision: http://reviews.llvm.org/D11862

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@245911 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-25 00:09:47 +00:00
..
_ocamldoc [OCaml] Use a nicer style for documentation than OCaml default. 2015-07-17 06:37:59 +00:00
_static
_templates
_themes/llvm-theme
CommandGuide Improving lli documentation 2015-07-28 10:24:11 +00:00
Frontend [docs][PerformanceTips] Framing the generic IR tips 2015-08-24 18:16:02 +00:00
HistoricalNotes
TableGen Rename all references to old mailing lists to new lists.llvm.org address. 2015-08-05 03:51:17 +00:00
tutorial [Kaleidoscope] More inter-chapter diff reduction. 2015-08-19 18:32:58 +00:00
AliasAnalysis.rst [PM/AA] Remove the AliasDebugger pass. 2015-08-12 22:54:47 +00:00
AMDGPUUsage.rst AMDGPU/SI: Update amd_kernel_code_t definition and add assembler support 2015-06-26 21:58:31 +00:00
ARM-BE-bitcastfail.png
ARM-BE-bitcastsuccess.png
ARM-BE-ld1.png
ARM-BE-ldr.png
Atomics.rst Rename all references to old mailing lists to new lists.llvm.org address. 2015-08-05 03:51:17 +00:00
BigEndianNEON.rst
BitCodeFormat.rst Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
BitSets.rst
BlockFrequencyTerminology.rst
BranchWeightMetadata.rst Add function entry count metadata. 2015-05-13 15:13:45 +00:00
Bugpoint.rst Correct 'teh' and other typos / repeated words. 2015-04-14 20:52:58 +00:00
BuildingLLVMWithAutotools.rst Clean up docs references to './configure' in preparation for deprecating in-source builds 2015-04-29 20:06:41 +00:00
CMake.rst [docs] Improvements to CMake.rst 2015-08-25 00:09:47 +00:00
CMakeLists.txt Doxygen: add build option to use svg instead of png files for graphs 2015-08-17 23:24:17 +00:00
CodeGenerator.rst [bpf] add documentation and instruction set description 2015-08-14 22:00:45 +00:00
CodingStandards.rst Disable Visual C++ 2013 Debug mode assert on null pointer in some STL algorithms, 2015-08-21 17:31:03 +00:00
CommandLine.rst Add missing underlines for a docs section. NFC 2015-07-24 00:29:50 +00:00
CompilerWriterInfo.rst R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
conf.py Docs: keep copyright years up-to-date. 2015-08-12 18:27:23 +00:00
CoverageMappingFormat.rst Fix Sphinx error about duplicate label in CommandLine.rst:1560 and CoverageMappingFormat.rst 2015-07-14 23:29:53 +00:00
DebuggingJITedCode.rst
DeveloperPolicy.rst Describe the process better. 2015-08-06 22:03:54 +00:00
doxygen.cfg.in Doxygen: add build option to use svg instead of png files for graphs 2015-08-17 23:24:17 +00:00
doxygen.intro
Dummy.html
ExceptionHandling.rst [WinEH] Require token linkage in EH pad/ret signatures 2015-08-23 00:26:33 +00:00
ExtendedIntegerResults.txt
ExtendingLLVM.rst Rename all references to old mailing lists to new lists.llvm.org address. 2015-08-05 03:51:17 +00:00
Extensions.rst Use a comma after the unique keyword. 2015-04-06 16:34:41 +00:00
FAQ.rst Clean up docs references to './configure' in preparation for deprecating in-source builds 2015-04-29 20:06:41 +00:00
FaultMaps.rst [FaultMaps] Let the frontend pre-select implicit null check candidates. 2015-06-30 21:22:32 +00:00
GarbageCollection.rst Document the CoreCLR GC Strategy 2015-05-21 00:50:10 +00:00
gcc-loops.png
GetElementPtr.rst
GettingStarted.rst Update GettingStarted docs list of LLVM_TARGETS_TO_BUILD to match cmake. 2015-08-05 20:55:53 +00:00
GettingStartedVS.rst
GoldPlugin.rst
HowToAddABuilder.rst
HowToBuildOnARM.rst Clean up docs references to './configure' in preparation for deprecating in-source builds 2015-04-29 20:06:41 +00:00
HowToCrossCompileLLVM.rst
HowToReleaseLLVM.rst docs: Add information about helper scripts to HowToReleaseLLVM page 2015-07-31 01:02:35 +00:00
HowToSetUpLLVMStyleRTTI.rst
HowToSubmitABug.rst
HowToUseAttributes.rst
HowToUseInstrMappings.rst
InAlloca.rst
index.rst Add initial documentation for the MIR serialization format. 2015-08-06 22:55:19 +00:00
LangRef.rst [LangRef] Fix sphinx warning 2015-08-23 01:04:12 +00:00
Lexicon.rst [docs] Document "LGTM" in the lexicon. 2015-06-04 20:28:09 +00:00
LibFuzzer.rst [libFuzzer] more trophies 2015-08-11 20:34:48 +00:00
LinkTimeOptimization.rst
linpack-pc.png
LLVMBuild.rst
LLVMBuild.txt
make.bat
Makefile Doxygen: add build option to use svg instead of png files for graphs 2015-08-17 23:24:17 +00:00
Makefile.sphinx
MakefileGuide.rst
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
MIRLangRef.rst MIRLangRef: Add 'MIR Testing Guide' section. 2015-08-21 22:58:33 +00:00
NVPTXUsage.rst [docs] fix the declarations of the llvm.nvvm.ptr.gen.to.* intrinsics 2015-05-29 22:18:03 +00:00
Packaging.rst
Passes.rst
Phabricator.rst docs: Fix typo in Phabricator.rst 2015-08-06 16:57:49 +00:00
ProgrammersManual.rst Reverting r243386 because it has serious post-commit concerns that have not been addressed. Also reverts r243389, which relied on this commit. 2015-07-29 15:57:49 +00:00
Projects.rst Rename all references to old mailing lists to new lists.llvm.org address. 2015-08-05 03:51:17 +00:00
re_format.7
README.txt Test Commit - Corrected spelling in README.txt. 2015-08-12 23:56:50 +00:00
ReleaseNotes.rst Rename all references to old mailing lists to new lists.llvm.org address. 2015-08-05 03:51:17 +00:00
ReleaseProcess.rst
SegmentedStacks.rst
SourceLevelDebugging.rst Update docs for accessing !dbg attachments 2015-08-06 18:15:25 +00:00
SphinxQuickstartTemplate.rst
StackMaps.rst List supported architectures for StackMap section and related intrinsics 2015-07-16 21:10:46 +00:00
Statepoints.rst Rename all references to old mailing lists to new lists.llvm.org address. 2015-08-05 03:51:17 +00:00
SystemLibrary.rst
TableGenFundamentals.rst
TestingGuide.rst Document some of the options in test/lit.cfg 2015-05-04 21:37:00 +00:00
TestSuiteMakefileGuide.rst
Vectorizers.rst Correct 'teh' and other typos / repeated words. 2015-04-14 20:52:58 +00:00
WritingAnLLVMBackend.rst
WritingAnLLVMPass.rst
yaml2obj.rst Summary: 2015-07-28 16:18:17 +00:00
YamlIO.rst [YAMLIO] Make line-wrapping configurable and test it. 2015-05-29 17:56:28 +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`.

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

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

    cd docs/
    make -f Makefile.sphinx linkcheck