1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
llvm-mirror/docs
Joel E. Denny 460b0069e3 [FileCheck] Implement -v and -vv for tracing matches
-v prints all directive pattern matches.

-vv additionally prints info that might be noise to users but that can
be helpful to FileCheck developers.

To maximize code reuse and to make diagnostics more consistent, this
patch also adjusts and extends some of the existing diagnostics.
CHECK-NOT failures now report variables uses.  Many more diagnostics
now report the check prefix and kind of directive.

Reviewed By: probinson

Differential Revision: https://reviews.llvm.org/D47114

llvm-svn: 336967
2018-07-13 03:08:23 +00:00
..
_ocamldoc
_static
_templates
_themes/llvm-theme
CommandGuide [FileCheck] Implement -v and -vv for tracing matches 2018-07-13 03:08:23 +00:00
Frontend
HistoricalNotes
PDB Update MSF File Documentation. 2018-01-12 21:42:39 +00:00
Proposals remove unreferenced footnotes 2018-01-05 00:24:55 +00:00
TableGen [TableGen] Add a general-purpose JSON backend. 2018-07-11 08:40:19 +00:00
tutorial [docs] Fix a typo in KaleidoscopeJIT tutorial 2018-05-08 18:43:27 +00:00
AdvancedBuilds.rst [NFC] Remove apostrophe to use 'it' in the possessive form. 2018-01-26 18:43:57 +00:00
AliasAnalysis.rst [doc] Removed obsolete -count-aa from AliasAnalysis documentation 2018-04-23 13:45:28 +00:00
AMDGPUAsmGFX7.rst [AMDGPU][MC][DOC] Updated AMD GPU assembler description 2018-03-12 15:55:08 +00:00
AMDGPUAsmGFX8.rst [AMDGPU][MC][DOC] Updated AMD GPU assembler description 2018-03-12 15:55:08 +00:00
AMDGPUAsmGFX9.rst [AMDGPU][MC][DOC] Updated AMD GPU assembler description 2018-03-12 15:55:08 +00:00
AMDGPUOperandSyntax.rst [AMDGPU][MC][DOC] Updated AMD GPU assembler description 2018-03-12 15:55:08 +00:00
AMDGPUUsage.rst AMDHSA: Put old assembler docs back 2018-06-22 19:23:18 +00:00
ARM-BE-bitcastfail.png
ARM-BE-bitcastsuccess.png
ARM-BE-ld1.png
ARM-BE-ldr.png
Atomics.rst
Benchmarking.rst
BigEndianNEON.rst
BitCodeFormat.rst Add the ShadowCallStack attribute 2018-04-03 20:10:40 +00:00
BlockFrequencyTerminology.rst
BranchWeightMetadata.rst
Bugpoint.rst Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
CFIVerify.rst fix path to llvm-cfi-verify unittests in docs 2018-05-09 01:15:06 +00:00
CMake.rst Remove LLVM_INSTALL_CCTOOLS_SYMLINKS 2018-04-24 15:41:02 +00:00
CMakeLists.txt
CMakePrimer.rst
CodeGenerator.rst [NFC] fix trivial typos in documents 2018-06-15 05:10:09 +00:00
CodeOfConduct.rst
CodingStandards.rst [NFC] update coding standard links to HTTPS 2018-05-18 16:44:13 +00:00
CommandLine.rst Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
CompileCudaWithLLVM.rst
CompilerWriterInfo.rst [docs] Update CompilerWriterInfo.rst for MIPS 2018-06-14 15:16:37 +00:00
conf.py The trunk version is now 7.0.0svn 2018-01-03 14:52:54 +00:00
Contributing.rst [Docs] Add LLVM for Grad Students to Contributing page. 2018-03-02 14:35:02 +00:00
Coroutines.rst [coroutines] Add support for llvm.coro.noop intrinsics 2018-04-02 16:55:12 +00:00
CoverageMappingFormat.rst
DebuggingJITedCode.rst
DeveloperPolicy.rst
Docker.rst Migrate dockerfiles to use multi-stage builds. 2018-03-26 15:12:30 +00:00
doxygen-mainpage.dox
doxygen.cfg.in [NFC] fix trivial typos in comments and documents 2018-01-26 08:15:29 +00:00
ExceptionHandling.rst [NFC] fix trivial typos in documents and comments 2018-04-12 05:53:20 +00:00
ExtendedIntegerResults.txt
ExtendingLLVM.rst
Extensions.rst docs: document CodeView directives 2018-06-19 16:47:31 +00:00
FAQ.rst
FaultMaps.rst
FuzzingLLVM.rst
GarbageCollection.rst Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
gcc-loops.png
GetElementPtr.rst
GettingStarted.rst Document the git config for Windows to do line-endings correctly. 2018-06-27 19:58:28 +00:00
GettingStartedVS.rst
GlobalISel.rst
GoldPlugin.rst Revert "[docs] As of binutils 2.21.51.0.2, ld.bfd supports plugins too, represent this in docs" 2018-07-11 20:08:32 +00:00
HowToAddABuilder.rst
HowToBuildOnARM.rst
HowToCrossCompileBuiltinsOnArm.rst
HowToCrossCompileLLVM.rst
HowToReleaseLLVM.rst
HowToSetUpLLVMStyleRTTI.rst
HowToSubmitABug.rst [docs] Fix mention of GCC frontend 2018-01-15 17:11:22 +00:00
HowToUseAttributes.rst
HowToUseInstrMappings.rst
InAlloca.rst
index.rst [Docs] Remove some WIP X86 documentation I accidentally leaked into r328031. 2018-03-21 17:32:57 +00:00
LangRef.rst [LangRef] Clarify alloca of zero bytes. 2018-07-11 00:02:01 +00:00
Lexicon.rst [Lexicon] Add "ICE", internal compiler error 2018-04-05 14:08:16 +00:00
LibFuzzer.rst [libFuzzer] Include TEMP_MAX_LEN in Fuzzer::PrintStats. 2018-02-22 19:00:17 +00:00
LinkTimeOptimization.rst
linpack-pc.png
LLVMBuild.rst
LLVMBuild.txt
make.bat
Makefile.sphinx
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
MemorySSA.rst [NFC] fix trivial typos in comments and documents 2018-01-26 08:15:29 +00:00
MergeFunctions.rst
MIRLangRef.rst [NFC] fix trivial typos in documents 2018-06-15 05:10:09 +00:00
NVPTXUsage.rst
OptBisect.rst
Packaging.rst
Passes.rst Another try to commit 323321 (aggressive instruction combine). 2018-01-25 12:06:32 +00:00
Phabricator.rst [docs] Tweak update to Phabricator docs about setting repository for diffs uploaded via web 2018-01-12 15:44:35 +00:00
ProgrammersManual.rst [NFC] fix trivial typos in documents 2018-06-15 05:10:09 +00:00
Projects.rst
re_format.7
README.txt
ReleaseNotes.rst [docs] add various sanitisers support for FreeBSD/OpenBSD 2018-06-07 16:33:48 +00:00
ReleaseProcess.rst [docs] Make ReleaseProcess.rst 80 column. NFCI 2018-01-18 14:57:55 +00:00
ReportingGuide.rst
ScudoHardenedAllocator.rst [docs] Scudo documentation minor update 2018-05-18 17:02:35 +00:00
SegmentedStacks.rst
SourceLevelDebugging.rst
SphinxQuickstartTemplate.rst
StackMaps.rst
Statepoints.rst
SystemLibrary.rst s/LLVM_ON_WIN32/_WIN32/, llvm 2018-04-29 00:45:03 +00:00
TableGenFundamentals.rst
TestingGuide.rst [llvm] Document "%T" as deprecated in TestingGuide.rst 2018-06-19 22:22:48 +00:00
TestSuiteMakefileGuide.rst
TypeMetadata.rst
Vectorizers.rst docs: Remove reference to a deprecated flag 2018-01-23 20:22:37 +00:00
WritingAnLLVMBackend.rst [Docs] Fix typo in scheduler model documentation. enumemation->enumeration 2017-12-10 09:14:35 +00:00
WritingAnLLVMPass.rst
XRay.rst [XRay][compiler-rt+docs] Introduce __xray_log_init_mode(...). 2018-05-04 06:01:12 +00:00
XRayExample.rst Tidy some language in the xray documentation. 2018-05-27 09:19:03 +00:00
XRayFDRFormat.rst Tidy some language in the xray documentation. 2018-05-27 09:19:03 +00:00
yaml2obj.rst
YamlIO.rst [YAML] Add support for non-printable characters 2017-12-18 17:38:03 +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 <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