1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/docs
Peter Collingbourne 6e881fda02 LowerBitSets: Extend pass to support functions as bitset members.
This change extends the bitset lowering pass to support bitsets that may
contain either functions or global variables. A function bitset is lowered to
a jump table that is laid out before one of the functions in the bitset.

Also add support for non-string bitset identifier names. This allows for
distinct metadata nodes to stand in for names with internal linkage,
as done in D11857.

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

llvm-svn: 247080
2015-09-08 21:57:45 +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
CommandGuide Improving lli documentation 2015-07-28 10:24:11 +00:00
Frontend [docs][PerformanceTips] Framing the generic IR tips 2015-08-24 18:16:02 +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
tutorial Recommit r246175 - Add Kaleidoscope regression tests, with a fix to make sure 2015-08-27 20:31:44 +00:00
AliasAnalysis.rst [PM/AA] Remove the AliasDebugger pass. 2015-08-12 22:54:47 +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
Atomics.rst Rename all references to old mailing lists to new lists.llvm.org address. 2015-08-05 03:51:17 +00:00
BigEndianNEON.rst
BitCodeFormat.rst Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
BitSets.rst LowerBitSets: Extend pass to support functions as bitset members. 2015-09-08 21:57:45 +00:00
BlockFrequencyTerminology.rst
BranchWeightMetadata.rst Add function entry count metadata. 2015-05-13 15:13:45 +00:00
Bugpoint.rst Correct 'teh' and other typos / repeated words. 2015-04-14 20:52:58 +00:00
BuildingLLVMWithAutotools.rst Clean up docs references to './configure' in preparation for deprecating in-source builds 2015-04-29 20:06:41 +00:00
CMake.rst [docs] Improvements to CMake.rst 2015-08-25 00:09:47 +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 [bpf] add documentation and instruction set description 2015-08-14 22:00:45 +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
CompilerWriterInfo.rst R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
conf.py Docs: keep copyright years up-to-date. 2015-08-12 18:27:23 +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 Describe the process better. 2015-08-06 22:03:54 +00:00
doxygen.cfg.in Doxygen: add build option to use svg instead of png files for graphs 2015-08-17 23:24:17 +00:00
doxygen.intro
Dummy.html
ExceptionHandling.rst [docs] Update documentation for the landingpad instruction 2015-09-08 20:16:35 +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
gcc-loops.png
GetElementPtr.rst Update LangRef for getelementptr explicit type changes 2015-03-04 22:02:58 +00:00
GettingStarted.rst Update GettingStarted docs list of LLVM_TARGETS_TO_BUILD to match cmake. 2015-08-05 20:55:53 +00:00
GettingStartedVS.rst Update the docs to require at least MSVC 2013. 2015-02-15 19:34:17 +00:00
GoldPlugin.rst
HowToAddABuilder.rst
HowToBuildOnARM.rst Clean up docs references to './configure' in preparation for deprecating in-source builds 2015-04-29 20:06:41 +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
HowToSubmitABug.rst
HowToUseAttributes.rst
HowToUseInstrMappings.rst
InAlloca.rst
index.rst Add initial documentation for the MIR serialization format. 2015-08-06 22:55:19 +00:00
LangRef.rst LowerBitSets: Extend pass to support functions as bitset members. 2015-09-08 21:57:45 +00:00
Lexicon.rst [docs] Document "LGTM" in the lexicon. 2015-06-04 20:28:09 +00:00
LibFuzzer.rst [libFuzzer] better documentatio for -save_minimized_corpus=1 2015-09-08 17:43:51 +00:00
LinkTimeOptimization.rst
linpack-pc.png
LLVMBuild.rst
LLVMBuild.txt
make.bat
Makefile Doxygen: add build option to use svg instead of png files for graphs 2015-08-17 23:24:17 +00:00
Makefile.sphinx
MakefileGuide.rst
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
MergeFunctions.rst Inspired by r231891, use gender neutral pronouns in the places I've 2015-03-11 00:15:44 +00:00
MIRLangRef.rst MIRLangRef: Add documentation for the subregister indices. 2015-09-08 11:39:47 +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
Phabricator.rst docs: Fix typo in Phabricator.rst 2015-08-06 16:57:49 +00:00
ProgrammersManual.rst Reverting r243386 because it has serious post-commit concerns that have not been addressed. Also reverts r243389, which relied on this commit. 2015-07-29 15:57:49 +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
re_format.7
README.txt Test Commit - Corrected spelling in README.txt. 2015-08-12 23:56:50 +00:00
ReleaseNotes.rst Make trunk release notes point to 3.7, not 3.6 2015-09-01 21:10:56 +00:00
ReleaseProcess.rst
SegmentedStacks.rst
SourceLevelDebugging.rst DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +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 [docs][Statepoints] More on base pointers 2015-08-26 23:13:35 +00:00
SystemLibrary.rst
TableGenFundamentals.rst
TestingGuide.rst Document some of the options in test/lit.cfg 2015-05-04 21:37:00 +00:00
TestSuiteMakefileGuide.rst
Vectorizers.rst Correct 'teh' and other typos / repeated words. 2015-04-14 20:52:58 +00:00
WritingAnLLVMBackend.rst
WritingAnLLVMPass.rst
yaml2obj.rst Summary: 2015-07-28 16:18:17 +00:00
YamlIO.rst [YAMLIO] Make line-wrapping configurable and test it. 2015-05-29 17:56:28 +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 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