llvm-capstone/llvm/docs
Simeon K 58cfd56356
[VP][RISCV] Introduce llvm.vp.minimum/maximum intrinsics (#74840)
Although there are predicated versions of minnum/maxnum, the ones for
minimum/maximum are currently missing. This patch introduces these
intrinsics and implements their lowering to RISC-V.
2024-01-22 16:46:39 -08:00
..
_ocamldoc
_static
_templates [docs] remove extra slash from llvm github url 2022-11-18 21:57:17 +08:00
_themes/llvm-theme
AMDGPU [AMDGPU][GFX11][DOC][NFC] Add GFX11 assembler syntax description 2022-12-21 12:49:48 +03:00
AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack [Documentation] Fix some invalid references in sphinx documentation (#68239) 2023-10-05 14:40:59 +02:00
CommandGuide [llvm-cxxfilt] Added the option --no-params (#75348) 2024-01-04 20:42:51 +04:00
DependenceGraphs
Frontend
GlobalISel [GISel][Docs] Add a little bit of documentation for G_FENCE. (#73722) 2023-11-28 18:57:20 -08:00
HistoricalNotes
PDB [llvm] Fix duplicate word typos. NFC 2023-09-01 18:25:16 -07:00
Proposals [docs] Graduate VectorizationPlan.rst from proposal. 2023-08-10 17:15:43 +01:00
TableGen [llvm] Fix typos in documentation 2023-12-17 15:36:44 -08:00
tutorial [Kaleidoscope] LLVM is not needed for chapter two (#69823) 2024-01-12 20:48:43 -08:00
AArch64SME.rst [IR] Add LLVM IR support for target("aarch64.svcount") type. 2023-03-01 08:17:53 +00:00
AddingConstrainedIntrinsics.rst
AdvancedBuilds.rst [Docs] Minor Fixups in Advanced Builds Documentation 2023-05-13 15:43:39 -07:00
AliasAnalysis.rst [llvm] Fix typos in documentation 2023-12-17 15:36:44 -08:00
AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst [AMDGPU][NFC] DWARF vector composite location description operations (#71623) 2023-11-13 11:44:37 -05:00
AMDGPUInstructionNotation.rst [AMDGPU][DOC][NFC] Update assembler syntax description 2022-12-20 14:03:46 +03:00
AMDGPUInstructionSyntax.rst [AMDGPU][GFX11][DOC][NFC] Add GFX11 assembler syntax description 2022-12-21 12:49:48 +03:00
AMDGPUModifierSyntax.rst [AMDGPU][MC] Clean up DPP bound_ctrl handling 2023-05-10 11:40:53 +02:00
AMDGPUOperandSyntax.rst [AMDGPU][GFX11][DOC][NFC] Add GFX11 assembler syntax description 2022-12-21 12:49:48 +03:00
AMDGPUUsage.rst AMDGPU/Docs: Add link to MI300 Instruction Set Architecture (#78777) 2024-01-22 10:32:35 -05:00
ARM-BE-bitcastfail.png
ARM-BE-bitcastsuccess.png
ARM-BE-ld1.png
ARM-BE-ldr.png
AssignmentTracking.md [DebugInfo][Docs] Remove dbg.addr from docs 2023-03-02 09:29:42 +00:00
Atomics.rst [Atomic][doc] Fix outdated hook name and description (#66989) 2023-09-23 01:24:10 +08:00
Benchmarking.rst
BigEndianNEON.rst [llvm] Fix typos in documentation 2023-05-12 23:47:46 -07:00
BitCodeFormat.rst Obsolete WebKit Calling Convention (#71567) 2023-11-09 09:08:41 -08:00
BlockFrequencyTerminology.rst [llvm][docs] Update old metadata syntax in examples 2023-01-26 19:34:21 +00:00
BranchWeightMetadata.rst [llvm][docs] Update old metadata syntax in examples 2023-01-26 19:34:21 +00:00
BugLifeCycle.rst
Bugpoint.rst Use opt -passes=<name> instead of opt -name 2022-11-08 12:15:42 +01:00
BugpointRedesign.md
buildbot_worker_contact.png
BuildingADistribution.rst
CFIVerify.rst
CMake.rst [llvm][doc][NFC] Fix typo in documentation in CMake.rst (#76836) 2024-01-04 14:02:25 +00:00
CMakeLists.txt [OCaml] Remove all PassManager-related functions 2023-02-24 13:14:18 -08:00
CMakePrimer.rst [LLVM] Removes CMake work-arounds. 2023-06-07 18:04:13 +02:00
CodeGenerator.rst [SelectionDAG] Add support to filter SelectionDAG dumps during ISel by function names (#72696) 2023-11-20 14:00:47 -08:00
CodeOfConduct.rst [llvm][docs] Update active CoC Commitee members (#66814) 2023-09-19 14:33:55 -07:00
CodeReview.rst [Docs] Update documentation for the new GitHub workflow (#65162) 2023-09-01 16:31:44 -07:00
CodingStandards.rst [doc] Add casting style preference to coding standards 2023-11-09 11:01:51 +00:00
CommandLine.rst [CommandLine] Do not print empty categories with '--help-hidden' (#77043) 2024-01-09 05:03:16 +07:00
CompileCudaWithLLVM.rst [CUDA] Updated CUDA versions mentioned in CompileCudaWithLLVM.rst 2023-06-15 14:27:40 -07:00
CompilerWriterInfo.rst Fix a dead link in the docs 2023-01-25 15:09:11 -05:00
conf.py [Documentation] Fix some invalid references in sphinx documentation (#68239) 2023-10-05 14:40:59 +02:00
Contributing.rst [Docs] Instructions for new contributors to find reviewers (#71936) 2023-11-10 19:45:21 +01:00
convergence-both-diverged-nested.png RFC: Uniformity Analysis for Irreducible Control Flow 2022-12-20 07:22:24 +05:30
convergence-closed-path.png RFC: Uniformity Analysis for Irreducible Control Flow 2022-12-20 07:22:24 +05:30
convergence-divergent-inside.png RFC: Uniformity Analysis for Irreducible Control Flow 2022-12-20 07:22:24 +05:30
convergence-divergent-outside.png RFC: Uniformity Analysis for Irreducible Control Flow 2022-12-20 07:22:24 +05:30
convergence-natural-loop.png RFC: Uniformity Analysis for Irreducible Control Flow 2022-12-20 07:22:24 +05:30
ConvergenceAndUniformity.rst [RFC] Introduce convergence control intrinsics 2023-07-12 12:31:42 +05:30
ConvergentOperations.rst [llvm] Fix typos in documentation 2023-12-17 15:36:44 -08:00
Coroutines.rst [Coroutines] Introduce [[clang::coro_only_destroy_when_complete]] (#71014) 2023-11-09 14:42:07 +08:00
CoverageMappingFormat.rst [clang][NFC] Update top-level Code Coverage documentation to include MC/DC. 2024-01-22 15:34:37 -06:00
cycle-1.png
cycle-2.png
cycle-3.png
CycleTerminology.rst RFC: Uniformity Analysis for Irreducible Control Flow 2022-12-20 07:22:24 +05:30
DebuggingJITedCode.rst [lldb] Fix dead link in JIT debugging doc 2023-06-15 08:39:01 +00:00
DeveloperPolicy.rst [docs] Update a link in DeveloperPolicy (#71839) 2023-11-11 15:10:15 -08:00
DirectXUsage.rst
DiscourseMigrationGuide.md
Docker.rst
doxygen-mainpage.dox
doxygen.cfg.in [docs] Hide collaboration and include graphs in doxygen docs 2023-05-04 12:26:51 +02:00
epilogue-vectorization-cfg.png
ExceptionHandling.rst [Docs] Update ExceptionHandling example (NFC) 2023-09-20 14:36:52 +02:00
ExtendedIntegerResults.txt
ExtendingLLVM.rst
Extensions.rst [SHT_LLVM_BB_ADDR_MAP][AsmPrinter] Implements PGOAnalysisMap emitting in AsmPrinter with tests. (#75202) 2024-01-03 19:17:44 -05:00
FAQ.rst
FatLTO.rst [docs][NFC] Add usage instructions for FatLTO (#75853) 2023-12-19 10:44:18 -08:00
FaultMaps.rst
FuzzingLLVM.rst
GarbageCollection.rst [llvm] Fix typos in documentation 2023-05-12 23:47:46 -07:00
gcc-loops.png
GetElementPtr.rst [Docs] Fix GEP type in example (#68533) 2023-10-09 11:56:21 +02:00
GettingInvolved.rst Add sync-up for floating-point working group (#71885) 2024-01-11 13:33:41 -08:00
GettingStarted.rst [docs] Add missing quotation mark after #73774 2023-12-09 22:19:08 -08:00
GettingStartedTutorials.rst
GettingStartedVS.rst [llvm] Fix typos in documentation 2023-05-12 23:47:46 -07:00
GitBisecting.rst
GitHub.rst Update GitHub doc to mention that we accepts user branches for Stacked PRs (#73774) 2023-12-04 18:26:44 -08:00
GitRepositoryPolicy.md [Docs] Fix broken LLVM doc pages (#68631) 2023-10-10 23:41:32 -07:00
GoldPlugin.rst
GwpAsan.rst [Documentation] Replace recommonmark by myst-parser (#65664) 2023-09-25 14:02:39 +02:00
HowToAddABuilder.rst [llvm] Fix typos in documentation 2023-05-12 23:47:46 -07:00
HowToBuildOnARM.rst
HowToBuildWindowsItaniumPrograms.rst
HowToBuildWithPGO.rst [docs] Add/update docs regarding LLVM_NATIVE_TOOL_DIR vs LLVM_TABLEGEN 2023-01-23 23:49:37 +02:00
HowToCrossCompileBuiltinsOnArm.rst
HowToCrossCompileLLVM.rst [docs] Rewrite/improve the docs for LLVM_NATIVE_TOOL_DIR 2023-02-03 10:55:33 +02:00
HowToReleaseLLVM.rst Change release branch creation process to bump version to N.1.0. (#75743) 2023-12-22 17:35:26 -05:00
HowToSetUpLLVMStyleRTTI.rst [llvm] Use std::optional instead of llvm::Optional (NFC) 2023-02-14 20:27:41 -08:00
HowToSubmitABug.rst [Docs][LTO] Updated HowToSubmitABug.rst for LTO crashes (#68389) 2023-11-03 13:13:26 +05:30
HowToUpdateDebugInfo.rst [Assignment Tracking][1/*] Add initial docs for Assignment Tracking 2022-11-02 13:47:50 +00:00
HowToUseAttributes.rst
HowToUseInstrMappings.rst
InAlloca.rst
index.rst
InstrProfileFormat.rst [docs][IRPGO]Document two binary formats for instrumentation-based profiles, with a focus on IRPGO. (#76105) 2024-01-10 16:17:15 -08:00
InstrRefDebugInfo.md [Docs] Fix broken LLVM doc pages (#68631) 2023-10-10 23:41:32 -07:00
JITLink.rst [llvm] Fix typos in documentation 2023-12-17 15:36:44 -08:00
LangRef.rst [VP][RISCV] Introduce llvm.vp.minimum/maximum intrinsics (#74840) 2024-01-22 16:46:39 -08:00
Lexicon.rst [Docs] Added RTTI, Run-time Type Information 2023-04-17 10:11:20 -07:00
LibFuzzer.rst Fix a typo in the docs; NFC 2022-10-10 14:22:25 -04:00
LinkTimeOptimization.rst
linpack-pc.png
llvm_slug.py [Documentation] Fix some invalid references in sphinx documentation (#68239) 2023-10-05 14:40:59 +02:00
loop-guard.svg
loop-irreducible.svg
loop-merge.svg
loop-nested.svg
loop-nonmaximal.svg
loop-separate.svg
loop-single.svg
loop-terminology-guarded-loop.png
loop-terminology-initial-loop.png
loop-terminology-rotated-loop.png
loop-terminology.svg
LoopTerminology.rst [llvm][docs]: fix typos (#71303) 2023-11-06 16:28:38 +01:00
make.bat
MarkdownQuickstartTemplate.md [Docs] Fix broken LLVM doc pages (#68631) 2023-10-10 23:41:32 -07:00
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
MeetupGuidelines.rst
MemorySSA.rst [llvm] Fix typos in documentation 2023-05-12 23:47:46 -07:00
MemTagSanitizer.rst
MergeFunctions.rst
MIRLangRef.rst MIRLangRef: fix llc invocation lines to write output (#74104) 2023-12-08 09:54:33 +00:00
MisExpect.rst
MyFirstTypoFix.rst [docs] Fix formatting issues in MyFirstTypoFix (#77527) 2024-01-10 07:43:57 +05:30
NewPassManager.rst [docs][NewPM] Add comment about declaring analysis managers in the correct order 2023-10-19 10:22:08 -07:00
NVPTXUsage.rst [llvm] Fix typos in documentation 2023-12-17 15:36:44 -08:00
OpaquePointers.rst [Docs] Fix typo in opaque pointers doc 2023-08-21 08:19:11 +02:00
OptBisect.rst [NFC][CodeGen] Change CodeGenOpt::Level/CodeGenFileType into enum classes (#66295) 2023-09-14 14:10:14 -07:00
ORCv2.rst [Docs] Fix code-blocks missing a colon and a newline 2023-07-28 05:36:49 +00:00
Packaging.rst
Passes.rst [docs] Remove count-aa pass from documentation 2023-08-13 18:51:06 -07:00
PCSectionsMetadata.rst [SanitizerBinaryMetadata] Emit constants as ULEB128 2023-02-08 13:12:34 +01:00
Phabricator_premerge_results.png
Phabricator_premerge_unit_tests.png
Phabricator.rst [Docs] Update documentation for the new GitHub workflow (#65162) 2023-09-01 16:31:44 -07:00
PointerAuth.md [Docs] Fix broken LLVM doc pages (#68631) 2023-10-10 23:41:32 -07:00
ProgrammersManual.rst [docs] remove some out-of-date content in LLVM Programmer's Manual (#74989) 2023-12-14 16:31:26 +08:00
Projects.rst
re_format.7
README.txt
Reference.rst [RFC] Introduce convergence control intrinsics 2023-07-12 12:31:42 +05:30
ReleaseNotes.rst [docs] Add llvm and clang release notes for the global-var code model attribute (#78664) 2024-01-22 09:35:21 +08:00
ReleaseProcess.rst
Remarks.rst
ReportingGuide.rst [docs] Clarify that CoC docs are under a CC-BY license. 2023-04-14 11:08:30 +02:00
requirements-hashed.txt Hashpin sensitive dependencies and configure dependabot to update them automatically (#75859) 2024-01-15 12:30:41 -08:00
requirements.txt Specified particular known to be good versions of Sphinx and dependencies 2023-10-05 09:47:14 -07:00
ResponseGuide.rst [docs] Clarify that CoC docs are under a CC-BY license. 2023-04-14 11:08:30 +02:00
RISCVUsage.rst [RISCV] Add support for Smepmp 1.0 (#78489) 2024-01-19 11:09:35 -08:00
ScudoHardenedAllocator.rst [scudo] [docs] Remove 32-bit default column (#71943) 2023-11-13 06:14:49 -08:00
Security.rst [doc] Improve wording for "What is considered a security issue?" (#69436) 2023-10-30 08:25:42 +01:00
SecurityTransparencyReports.rst Add security group 2022 transparency report. 2023-01-20 09:49:30 +01:00
SegmentedStacks.rst
SourceLevelDebugging.rst [docs] Fix issues in SourceLevelDebugging (#73528) 2023-11-27 15:27:58 -08:00
speculative_load_hardening_microbenchmarks.png
SpeculativeLoadHardening.md Fix Sphinx build with incorrect heading levels; NFC 2023-10-04 10:29:55 -04:00
SphinxQuickstartTemplate.rst [Documentation] fix invalid links in documentation (#76502) 2024-01-09 08:00:20 +01:00
SPIRVUsage.rst [Clang][SPIR-V] Emit target extension types for OpenCL types on SPIR-V. 2023-03-13 14:20:24 -04:00
StackMaps.rst [doc][StackMaps] Fix typo 2024-01-09 11:06:33 +08:00
StackSafetyAnalysis.rst
Statepoints.rst [RS4GC] Remove the hardcoded GC strategy names (v2) 2023-01-25 20:47:16 +03:00
SupportLibrary.rst
SupportPolicy.rst
SymbolizerMarkupFormat.rst Optionally print symbolizer markup backtraces. 2023-08-17 10:54:47 -07:00
SystemLibrary.rst
TableGenFundamentals.rst
TestingGuide.rst [lit][clang] Avoid realpath on Windows due to MAX_PATH limitations 2023-08-01 11:00:27 -07:00
TestSuiteGuide.md [Docs][NFC] fix URL 2023-10-18 08:36:18 +08:00
TestSuiteMakefileGuide.rst
TransformMetadata.rst
TypeMetadata.rst
UserGuides.rst [docs][IRPGO]Document two binary formats for instrumentation-based profiles, with a focus on IRPGO. (#76105) 2024-01-10 16:17:15 -08:00
VectorizationPlan.rst [docs] Graduate VectorizationPlan.rst from proposal. 2023-08-10 17:15:43 +01:00
Vectorizers.rst [docs] Graduate VectorizationPlan.rst from proposal. 2023-08-10 17:15:43 +01:00
WritingAnLLVMBackend.rst [TableGen][Target] Rename Attribute field in SubtargetFeature class to FieldName. 2023-06-21 17:53:50 -07:00
WritingAnLLVMNewPMPass.rst [docs][NewPM] Move pass plugin documentation into existing new PM docs 2022-11-02 10:47:17 -07:00
WritingAnLLVMPass.rst [Docs] Remove future extensions section from writing a pass docs (#69286) 2023-10-17 17:06:22 -07:00
XRay.rst
XRayExample.rst
XRayFDRFormat.rst
yaml2obj.rst [yaml2obj] Add support for load config section data. 2023-07-24 20:41:20 +02:00
YamlIO.rst

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 llvm/docs/
    sphinx-build -b linkcheck . _build/lintcheck/
    # report will be generated in _build/lintcheck/output.txt

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

Install doxygen <https://www.doxygen.nl/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