1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 20:23:11 +01:00
llvm-mirror/docs
Dean Michael Berris 18fc7875e9 [XRay][compiler-rt+docs] Introduce __xray_log_init_mode(...).
Summary:
This addresses http://llvm.org/PR36790.

The change Deprecates a number of functions and types in
`include/xray/xray_log_interface.h` to recommend using string-based
configuration of XRay through the __xray_log_init_mode(...) function. In
particular, this deprecates the following:

- `__xray_set_log_impl(...)` -- users should instead use the
`__xray_log_register_mode(...)` and `__xray_log_select_mode(...)` APIs.

- `__xray_log_init(...)` -- users should instead use the
`__xray_log_init_mode(...)` function, which also requires using the
`__xray_log_register_mode(...)` and `__xray_log_select_mode(...)`
functionality.

- `__xray::FDRLoggingOptions` -- in following patches, we'll be
migrating the FDR logging implementations (and tests) to use the
string-based configuration. In later stages we'll remove the
`__xray::FDRLoggingOptions` type, and ask users to migrate to using the
string-based configuration mechanism instead.

- `__xray::BasicLoggingOptions` -- same as `__xray::FDRLoggingOptions`,
we'll be removing this type later and instead rely exclusively on the
string-based configuration API.

We also update the documentation to reflect the new advice and remove
some of the deprecated notes.

Reviewers: eizan, kpw, echristo, pelikan

Reviewed By: kpw

Subscribers: llvm-commits

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

llvm-svn: 331503
2018-05-04 06:01:12 +00:00
..
_ocamldoc
_static
_templates
_themes/llvm-theme
CommandGuide Revert r330755 "[lit] Report line number for failed RUN command" 2018-04-25 17:30:00 +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 Fix BNF nits in TableGen language reference. 2018-04-23 09:15:47 +00:00
tutorial s/LLVM_ON_WIN32/_WIN32/, llvm 2018-04-29 00:45:03 +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 AMDGPU: Add Vega12 and Vega20 2018-04-30 19:08:16 +00:00
ARM-BE-bitcastfail.png
ARM-BE-bitcastsuccess.png
ARM-BE-ld1.png
ARM-BE-ldr.png
Atomics.rst
Benchmarking.rst Add some tips on benchmarking. 2017-05-24 16:39:12 +00:00
BigEndianNEON.rst
BitCodeFormat.rst Add the ShadowCallStack attribute 2018-04-03 20:10:40 +00:00
BlockFrequencyTerminology.rst
BranchWeightMetadata.rst [Doc] Document prof metadata in LangRef 2017-06-15 15:57:12 +00:00
Bugpoint.rst [docs] Mention opt -metarenamer in the bugpoint docs 2017-11-15 18:05:19 +00:00
CFIVerify.rst Introduce the llvm-cfi-verify tool (resubmission of D37937). 2017-09-20 20:38:14 +00:00
CMake.rst Remove LLVM_INSTALL_CCTOOLS_SYMLINKS 2018-04-24 15:41:02 +00:00
CMakeLists.txt [dsymutil][doc] Improve wording in manpage and rename file. 2017-11-02 18:44:54 +00:00
CMakePrimer.rst [docs] In the CMake primer, correct the description of the ARGV/ARGN variables. 2017-08-24 05:38:39 +00:00
CodeGenerator.rst [Docs] Remove some WIP X86 documentation I accidentally leaked into r328031. 2018-03-21 17:32:57 +00:00
CodeOfConduct.rst
CodingStandards.rst [docs] Add a note on non-deterministic sorting order of equal elements 2018-04-24 21:25:57 +00:00
CommandLine.rst NFC - Typo fixes lib/VMCore -> lib/IR 2018-04-30 10:18:11 +00:00
CompileCudaWithLLVM.rst
CompilerWriterInfo.rst [Docs] Remove some WIP X86 documentation I accidentally leaked into r328031. 2018-03-21 17:32:57 +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 [Coverage] Use gap regions to select better line exec counts 2017-09-18 23:37:28 +00:00
DebuggingJITedCode.rst
DeveloperPolicy.rst Fixed broken links in docs. 2017-09-22 21:10:37 +00:00
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 [AArch64] Add support for secrel add/load/store relocations for COFF 2018-03-01 20:42:28 +00:00
FAQ.rst
FaultMaps.rst
FuzzingLLVM.rst [llvm-opt-fuzzer] Introduce llvm-opt-fuzzer for fuzzing optimization passes 2017-11-10 12:19:08 +00:00
GarbageCollection.rst Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
gcc-loops.png
GetElementPtr.rst [docs] Update code block for compatibility with Sphinx 1.5.1 2017-11-06 11:47:24 +00:00
GettingStarted.rst [NFC] fix trivial typos in comments and documents 2018-01-29 05:17:03 +00:00
GettingStartedVS.rst [MC] Fix regression tests on Windows when git “core.autocrlf” is set to true. 2017-11-17 21:59:43 +00:00
GlobalISel.rst [globalisel] Add very brief docs summarizing the ISel part of the LLVMDev tutorial. 2017-10-23 17:18:44 +00:00
GoldPlugin.rst [docs] As of binutils 2.21.51.0.2, ld.bfd supports plugins too, represent this in docs 2017-06-23 13:54:10 +00:00
HowToAddABuilder.rst Added more info on silent master to the doc. 2017-07-05 20:45:44 +00:00
HowToBuildOnARM.rst
HowToCrossCompileBuiltinsOnArm.rst [docs][ARM] Add HowTo for cross compiling and testing compiler-rt builtins 2017-11-07 09:40:05 +00:00
HowToCrossCompileLLVM.rst
HowToReleaseLLVM.rst docs: Fix formatting in HowToReleaseLLVM 2017-09-19 03:27:26 +00:00
HowToSetUpLLVMStyleRTTI.rst
HowToSubmitABug.rst [docs] Fix mention of GCC frontend 2018-01-15 17:11:22 +00:00
HowToUseAttributes.rst Fix RST docs AttributeList heading underline 2017-03-21 17:05:00 +00:00
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 Rename invariant.group.barrier to launder.invariant.group 2018-05-03 11:03: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 Fix LLVMBuild.txt typo. NFC 2017-04-03 18:21:50 +00:00
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 Updating MIR Language Reference to include new syntax for symbols and physregs. 2018-03-12 14:51:19 +00:00
NVPTXUsage.rst [CodeGen] Unify MBB reference format in both MIR and debug output 2017-12-04 17:18:51 +00:00
OptBisect.rst Remove opt-bisect support for "cases" in favor of debug counters 2017-03-11 01:41:03 +00:00
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 and comments 2018-04-12 05:53:20 +00:00
Projects.rst
re_format.7
README.txt Remove test commit change. 2017-06-24 20:13:32 +00:00
ReleaseNotes.rst Rename invariant.group.barrier to launder.invariant.group 2018-05-03 11:03:01 +00:00
ReleaseProcess.rst [docs] Make ReleaseProcess.rst 80 column. NFCI 2018-01-18 14:57:55 +00:00
ReportingGuide.rst
ScudoHardenedAllocator.rst [docs] Update Scudo documentation 2018-01-04 18:31:22 +00:00
SegmentedStacks.rst
SourceLevelDebugging.rst [docs] Update code block for compatibility with Sphinx 1.5.1 2017-11-06 11:47:24 +00:00
SphinxQuickstartTemplate.rst
StackMaps.rst [StackMaps] Increase the size of the "location size" field 2017-04-28 04:48:42 +00:00
Statepoints.rst [docs] change a few code-blocks to llvm from text 2017-07-26 14:11:23 +00:00
SystemLibrary.rst s/LLVM_ON_WIN32/_WIN32/, llvm 2018-04-29 00:45:03 +00:00
TableGenFundamentals.rst
TestingGuide.rst Revert "lit.py: Add new %{shared_output(LABEL)} substitution" 2017-10-14 04:01:27 +00:00
TestSuiteMakefileGuide.rst
TypeMetadata.rst Fixed broken links in docs. 2017-09-22 21:10:37 +00:00
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 Fixed dead links in WritingAnLLVMPass.rst 2017-11-06 09:51:39 +00:00
XRay.rst [XRay][compiler-rt+docs] Introduce __xray_log_init_mode(...). 2018-05-04 06:01:12 +00:00
XRayExample.rst [XRay][llvm+clang] Consolidate attribute list files 2018-04-09 04:02:09 +00:00
XRayFDRFormat.rst [XRay][tools] Support tail-call exits before we write them in the runtime 2017-09-18 06:08:46 +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