llvm-project/llvm/docs
Vaivaswatha Nagaraj fb3f4907c0 Add InaccessibleMemOnly and inaccessibleMemOrArgMemOnly attributes
Summary:
This patch introduces two new function attributes 

InaccessibleMemOnly: This attribute indicates that the function may only access memory that is not accessible by the program/IR being compiled. This is a weaker form of ReadNone.
inaccessibleMemOrArgMemOnly: This attribute indicates that the function may only access memory that is either not accessible by the program/IR being compiled, or is pointed to by its pointer arguments. This is a weaker form of  ArgMemOnly

Test cases have been updated. This revision uses this (d001932f3a) as reference.

Reviewers: jmolloy, hfinkel

Subscribers: reames, joker.eph, llvm-commits

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

llvm-svn: 255778
2015-12-16 16:16:19 +00:00
..
CommandGuide [llvm-profdata] Add support for weighted merge of profile data (2nd try) 2015-12-15 17:37:09 +00:00
Frontend [docs][PerformanceTips] Add text on allocas and alignment 2015-09-10 17:03:10 +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
_ocamldoc [OCaml] Use a nicer style for documentation than OCaml default. 2015-07-17 06:37:59 +00:00
_static
_templates
_themes/llvm-theme
tutorial LLVM tutorial: fix broken links/anchors 2015-12-15 20:50:29 +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
AliasAnalysis.rst [PM/AA] Remove the AliasDebugger pass. 2015-08-12 22:54:47 +00:00
Atomics.rst [CodeGen] Refactor TLI/AtomicExpand interface to make LLSC explicit. 2015-09-11 17:08:28 +00:00
BigEndianNEON.rst Fix typos 2014-05-15 01:52:21 +00:00
BitCodeFormat.rst [CXX TLS calling convention] Add CXX TLS calling convention. 2015-12-04 17:40:13 +00:00
BitSets.rst Re-apply r247080 with order of evaluation fix. 2015-09-08 22:49:35 +00:00
BlockFrequencyTerminology.rst Fix typos 2014-05-15 01:52:21 +00:00
BranchWeightMetadata.rst Fix typos. 2015-09-12 01:17:08 +00:00
Bugpoint.rst Correct 'teh' and other typos / repeated words. 2015-04-14 20:52:58 +00:00
BuildingLLVMWithAutotools.rst Deprecate Autoconf 2015-11-09 21:54:55 +00:00
CMake.rst [CMake] Adding LLVM_CREATE_XCODE_TOOLCHAIN to the CMake documentation page. 2015-10-15 20:12:08 +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 Fixing a typo in docs/CodeGenerator.rst 2015-11-13 15:14:04 +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
CompileCudaWithLLVM.rst [doc] fix a wrong link 2015-11-18 22:01:44 +00:00
CompilerWriterInfo.rst ARM/AArch64: update reference documentation. 2015-12-04 16:10:48 +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 Fix a spurious if. 2015-12-11 00:51:59 +00:00
Dummy.html
ExceptionHandling.rst [IR] Remove terminatepad 2015-12-14 18:34:23 +00:00
ExtendedIntegerResults.txt
ExtendingLLVM.rst [WinEH] Add llvm.eh.exceptionpointer intrinsic 2015-09-03 09:15:32 +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
GetElementPtr.rst Update LangRef for getelementptr explicit type changes 2015-03-04 22:02:58 +00:00
GettingStarted.rst [OPENMP] Make -fopenmp to turn on OpenMP support by default. 2015-12-10 05:45:58 +00:00
GettingStartedVS.rst Update the docs to require at least MSVC 2013. 2015-02-15 19:34:17 +00:00
GoldPlugin.rst Docs: give binutils/gold instructions for CMake too. 2014-11-04 02:16:03 +00:00
HowToAddABuilder.rst
HowToBuildOnARM.rst [Docs] Change ARM build info to CMake 2015-11-06 18:39:34 +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 [docs][LLVM-style RTTI] Add a mention of multiple inheritance. 2015-02-07 01:16:26 +00:00
HowToSubmitABug.rst Delete -std-compile-opts. 2014-10-16 20:00:02 +00:00
HowToUseAttributes.rst
HowToUseInstrMappings.rst
InAlloca.rst
LLVMBuild.rst
LLVMBuild.txt
LangRef.rst Add InaccessibleMemOnly and inaccessibleMemOrArgMemOnly attributes 2015-12-16 16:16:19 +00:00
Lexicon.rst [docs] Document "LGTM" in the lexicon. 2015-06-04 20:28:09 +00:00
LibFuzzer.rst [libFuzzer] one more trophie 2015-12-05 02:23:49 +00:00
LinkTimeOptimization.rst Fix a typo in the documentation of LTO 2014-12-03 07:32:36 +00:00
MCJIT-creation.png
MCJIT-dyld-load.png
MCJIT-engine-builder.png
MCJIT-load-object.png
MCJIT-load.png
MCJIT-resolve-relocations.png
MCJITDesignAndImplementation.rst Minor typo. 2014-09-05 04:56:43 +00:00
MIRLangRef.rst MIRLangRef: Add documentation for the subregister indices. 2015-09-08 11:39:47 +00:00
Makefile Doxygen: add build option to use svg instead of png files for graphs 2015-08-17 23:24:17 +00:00
Makefile.sphinx Revert "Treat warnings in Sphinx as errors. The reasons for doing this are..." 2014-07-22 18:09:17 +00:00
MakefileGuide.rst
MarkedUpDisassembly.rst undo test commit (whitespace only) 2014-06-30 08:09:35 +00:00
MergeFunctions.rst Inspired by r231891, use gender neutral pronouns in the places I've 2015-03-11 00:15:44 +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 Remove the preverify pass from the documentation now that it has been removed 2015-01-30 20:51:09 +00:00
Phabricator.rst docs: Fix typo in Phabricator.rst 2015-08-06 16:57:49 +00:00
ProgrammersManual.rst docs: Stop using DEBUG() without DEBUG_TYPE in the ProgrammersManual 2015-10-15 18:17:44 +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
README.txt Test Commit - Corrected spelling in README.txt. 2015-08-12 23:56:50 +00:00
ReleaseNotes.rst Deprecate Autoconf 2015-11-09 21:54:55 +00:00
ReleaseProcess.rst [OPENMP] Make -fopenmp to turn on OpenMP support by default. 2015-12-10 05:45:58 +00:00
SegmentedStacks.rst
SourceLevelDebugging.rst docs: Document function-attached metadata and IR changes from r252219. 2015-11-06 02:41:02 +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 Fix typos. 2015-09-12 01:17:08 +00:00
SystemLibrary.rst
TableGenFundamentals.rst
TestSuiteMakefileGuide.rst
TestingGuide.rst [Documentation] Add guidelines for grouping tests together. 2015-11-17 02:17:35 +00:00
Vectorizers.rst Correct 'teh' and other typos / repeated words. 2015-04-14 20:52:58 +00:00
WritingAnLLVMBackend.rst configure.ac lives in autoconf/, not autotools/ 2014-11-10 22:36:04 +00:00
WritingAnLLVMPass.rst Fix another reference to in-source builds 2015-10-23 17:42:51 +00:00
YamlIO.rst [YAMLIO] Make line-wrapping configurable and test it. 2015-05-29 17:56:28 +00:00
conf.py Docs: keep copyright years up-to-date. 2015-08-12 18:27:23 +00:00
doxygen.cfg.in Doxygen: Use mathjax to create formulas. 2015-11-25 00:50:47 +00:00
doxygen.intro
gcc-loops.png
index.rst [doc] Compile CUDA with LLVM 2015-11-10 22:35:47 +00:00
linpack-pc.png
make.bat
re_format.7
yaml2obj.rst Summary: 2015-07-28 16:18:17 +00:00

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 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