hanchenye-llvm-project/llvm/docs
Dmitry Preobrazhensky ddac5c9ba5 [AMDGPU][MC][DOC] Updated AMD GPU assembler description.
Minor bugfixing and improvements.

See bug 36572: https://bugs.llvm.org/show_bug.cgi?id=36572

llvm-svn: 350120
2018-12-28 11:48:23 +00:00
..
AMDGPU [AMDGPU][MC][DOC] Updated AMD GPU assembler description. 2018-12-28 11:48:23 +00:00
CommandGuide [FileCheck] Annotate input dump (1/7) 2018-12-18 00:01:39 +00:00
Frontend
HistoricalNotes
PDB
Proposals [docs] Add C++ Performance Benchmark to test-suite proposals. 2018-11-21 00:34:02 +00:00
TableGen [TableGen] Preprocessing support 2018-11-27 18:57:43 +00:00
_ocamldoc
_static
_templates
_themes/llvm-theme
tutorial [BuildingAJIT] Clang-format chapters 1 and 2. 2018-11-13 01:26:25 +00:00
AMDGPUInstructionNotation.rst [AMDGPU][MC][DOC] Updated AMD GPU assembler description. 2018-12-28 11:48:23 +00:00
AMDGPUInstructionSyntax.rst [AMDGPU][MC][DOC] A fix for build failure in r349370 2018-12-17 18:53:10 +00:00
AMDGPUModifierSyntax.rst [AMDGPU][MC][DOC] Updated AMD GPU assembler description. 2018-12-28 11:48:23 +00:00
AMDGPUOperandSyntax.rst [AMDGPU][MC][DOC] Updated AMD GPU assembler description. 2018-12-28 11:48:23 +00:00
AMDGPUUsage.rst [AMDGPU][MC][DOC] Updated AMD GPU assembler description 2018-12-17 17:38:11 +00:00
ARM-BE-bitcastfail.png
ARM-BE-bitcastsuccess.png
ARM-BE-ld1.png
ARM-BE-ldr.png
AdvancedBuilds.rst Use backquotes to avoid a sphinx unexpected error: 2018-12-16 14:19:39 +00:00
AliasAnalysis.rst
Atomics.rst [docs][AtomicExpandPass] Document the alternate lowering strategy for part-word atomicrmw/cmpxchg 2018-11-30 09:23:24 +00:00
Benchmarking.rst
BigEndianNEON.rst
BitCodeFormat.rst
BlockFrequencyTerminology.rst
BranchWeightMetadata.rst [TI removal] Remove discussion of `TerminatorInst` from the LLVM 2018-10-18 07:40:24 +00:00
BugLifeCycle.rst Introduce bug life cycle documentation. 2018-11-07 08:49:36 +00:00
Bugpoint.rst
CFIVerify.rst [cfi-verify] Abort on unsupported targets 2018-07-16 15:26:44 +00:00
CMake.rst cmake: Remove add_llvm_loadable_module() 2018-12-20 22:04:08 +00:00
CMakeLists.txt
CMakePrimer.rst
CodeGenerator.rst
CodeOfConduct.rst
CodingStandards.rst Document how to comment an actual parameter. 2018-11-14 13:43:19 +00:00
CommandLine.rst
CompileCudaWithLLVM.rst Added missing whitespace in the link. 2018-11-16 01:23:12 +00:00
CompilerWriterInfo.rst
Contributing.rst
Coroutines.rst
CoverageMappingFormat.rst
DebuggingJITedCode.rst
DeveloperPolicy.rst fix an out of date paragraph noticed by Bryce Lelbach 2018-10-16 16:54:10 +00:00
Docker.rst
ExceptionHandling.rst
ExtendedIntegerResults.txt
ExtendingLLVM.rst
Extensions.rst MC: Implement support for new .addrsig and .addrsig_sym directives. 2018-07-17 22:17:18 +00:00
FAQ.rst
FaultMaps.rst
FuzzingLLVM.rst [docs] Try to clarify the FuzzingLLVM docs 2018-08-16 21:55:09 +00:00
GarbageCollection.rst [GC docs] Update the gcroot documentation to reflect recent simplifcations to GCStrategy configurability 2018-11-12 20:30:50 +00:00
GetElementPtr.rst
GettingStarted.rst [docs] Remove reference to makellvm which was removed in rL329041 2018-09-27 03:48:04 +00:00
GettingStartedVS.rst
GlobalISel.rst
GoldPlugin.rst [docs][gold] Fix a typo 2018-08-21 21:00:54 +00:00
HowToAddABuilder.rst
HowToBuildOnARM.rst
HowToBuildWithPGO.rst HowToBuildWithPGO.rst: Fix a few details in the manual steps 2018-12-05 08:35:30 +00:00
HowToCrossCompileBuiltinsOnArm.rst [docs] Improve HowToCrossCompilerBuiltinsOnArm 2018-12-18 12:40:19 +00:00
HowToCrossCompileLLVM.rst
HowToReleaseLLVM.rst
HowToSetUpLLVMStyleRTTI.rst
HowToSubmitABug.rst
HowToUseAttributes.rst
HowToUseInstrMappings.rst
InAlloca.rst
LLVMBuild.rst
LLVMBuild.txt
LangRef.rst Introduce llvm.loop.parallel_accesses and llvm.access.group metadata. 2018-12-20 04:58:07 +00:00
Lexicon.rst Update the coding standards and developer policy documentation surrounding whitespace. 2018-08-10 17:26:07 +00:00
LibFuzzer.rst [libFuzzer] Update documentation regarding MSan. 2018-07-19 17:59:11 +00:00
LinkTimeOptimization.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
MIRLangRef.rst MIR: Add method to stop after specific runs of passes 2018-12-04 17:45:12 +00:00
Makefile.sphinx
MarkdownQuickstartTemplate.md [docs] Reinstate r337730 - Add support for Markdown documentation in 2018-08-06 00:38:31 +00:00
MarkedUpDisassembly.rst
MemorySSA.rst
MergeFunctions.rst Updating MergeFunctions.rst 2018-08-18 20:17:19 +00:00
NVPTXUsage.rst
OptBisect.rst [Docs] Remove hard tab character from code block in optbisect documentation 2018-07-27 06:54:13 +00:00
Packaging.rst
Passes.rst [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes. 2018-12-12 17:32:52 +00:00
Phabricator.rst Introduce bug life cycle documentation. 2018-11-07 08:49:36 +00:00
ProgrammersManual.rst [TI removal] Remove discussion of `TerminatorInst` from the LLVM 2018-10-18 07:40:24 +00:00
Projects.rst
README.txt
ReleaseNotes.rst ReleaseNotes: X86 Target: bdver2 sched model was added (D52779) 2018-12-24 12:12:26 +00:00
ReleaseProcess.rst
ReportingGuide.rst
ScudoHardenedAllocator.rst
SegmentedStacks.rst
SourceLevelDebugging.rst It's its 2018-11-19 22:53:42 +00:00
SpeculativeLoadHardening.md [x86/SLH] Teach SLH to harden against the "ret2spec" attack by 2018-09-04 10:59:10 +00:00
SphinxQuickstartTemplate.rst
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 [docs][statepoints] Reformulate open issues list 2018-11-09 17:09:16 +00: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
TestSuiteGuide.md Revamp test-suite documentation 2018-08-31 21:47:01 +00:00
TestSuiteMakefileGuide.rst Revamp test-suite documentation 2018-08-31 21:47:01 +00:00
TestingGuide.rst Revamp test-suite documentation 2018-08-31 21:47:01 +00:00
TransformMetadata.rst [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes. 2018-12-12 17:32:52 +00:00
TypeMetadata.rst
Vectorizers.rst
WritingAnLLVMBackend.rst
WritingAnLLVMPass.rst cmake: Remove add_llvm_loadable_module() 2018-12-20 22:04:08 +00:00
XRay.rst [Docs] Update of Xray page 2018-07-26 04:44:31 +00:00
XRayExample.rst [XRay][docs] Chrome Trace Viewer Instructions 2018-08-28 17:36:30 +00:00
XRayFDRFormat.rst
YamlIO.rst [Docs] Fix LLVM_YAML_IS_DOCUMENT_LIST_VECTOR 2018-07-23 14:17:43 +00:00
conf.py manpages: Update the URL for https 2018-12-26 22:34:44 +00:00
doxygen-mainpage.dox
doxygen.cfg.in
gcc-loops.png
index.rst [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes. 2018-12-12 17:32:52 +00:00
linpack-pc.png
llvm-objdump.1 Add llvm-objdump man page 2018-12-19 01:26:55 +00:00
make.bat
re_format.7
speculative_load_hardening_microbenchmarks.png [x86/SLH] Add the design document for Speculative Load Hardening, 2018-07-18 14:05:14 +00:00
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

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