]> granicus.if.org Git - llvm/commitdiff
Restore documentation that 'svn update' unexpectedly yanked out from under me.
authorKevin P. Neal <kevin.neal@sas.com>
Tue, 8 Oct 2019 13:38:42 +0000 (13:38 +0000)
committerKevin P. Neal <kevin.neal@sas.com>
Tue, 8 Oct 2019 13:38:42 +0000 (13:38 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@374045 91177308-0d34-0410-b5e6-96231b3b80d8

docs/ProgrammingDocumentation.rst [new file with mode: 0644]
docs/SubsystemDocumentation.rst [new file with mode: 0644]

diff --git a/docs/ProgrammingDocumentation.rst b/docs/ProgrammingDocumentation.rst
new file mode 100644 (file)
index 0000000..fa8f114
--- /dev/null
@@ -0,0 +1,54 @@
+Programming Documentation\r
+=========================\r
+\r
+For developers of applications which use LLVM as a library.\r
+\r
+.. toctree::\r
+   :hidden:\r
+\r
+   Atomics\r
+   CommandLine\r
+   ExtendingLLVM\r
+   HowToSetUpLLVMStyleRTTI\r
+   ProgrammersManual\r
+   Extensions\r
+   LibFuzzer\r
+   FuzzingLLVM\r
+   ScudoHardenedAllocator\r
+   OptBisect\r
+   GwpAsan\r
+\r
+:doc:`Atomics`\r
+  Information about LLVM's concurrency model.\r
+\r
+:doc:`ProgrammersManual`\r
+  Introduction to the general layout of the LLVM sourcebase, important classes\r
+  and APIs, and some tips & tricks.\r
+\r
+:doc:`Extensions`\r
+  LLVM-specific extensions to tools and formats LLVM seeks compatibility with.\r
+\r
+:doc:`CommandLine`\r
+  Provides information on using the command line parsing library.\r
+\r
+:doc:`HowToSetUpLLVMStyleRTTI`\r
+  How to make ``isa<>``, ``dyn_cast<>``, etc. available for clients of your\r
+  class hierarchy.\r
+\r
+:doc:`ExtendingLLVM`\r
+  Look here to see how to add instructions and intrinsics to LLVM.\r
+\r
+:doc:`LibFuzzer`\r
+  A library for writing in-process guided fuzzers.\r
+\r
+:doc:`FuzzingLLVM`\r
+  Information on writing and using Fuzzers to find bugs in LLVM.\r
+\r
+:doc:`ScudoHardenedAllocator`\r
+  A library that implements a security-hardened `malloc()`.\r
+\r
+:doc:`OptBisect`\r
+  A command line option for debugging optimization-induced failures.\r
+\r
+:doc:`GwpAsan`\r
+  A sampled heap memory error detection toolkit designed for production use.
\ No newline at end of file
diff --git a/docs/SubsystemDocumentation.rst b/docs/SubsystemDocumentation.rst
new file mode 100644 (file)
index 0000000..cac0ce8
--- /dev/null
@@ -0,0 +1,206 @@
+.. _index-subsystem-docs:\r
+\r
+Subsystem Documentation\r
+=======================\r
+\r
+For API clients and LLVM developers.\r
+\r
+.. toctree::\r
+   :hidden:\r
+\r
+   AliasAnalysis\r
+   MemorySSA\r
+   BitCodeFormat\r
+   BlockFrequencyTerminology\r
+   BranchWeightMetadata\r
+   Bugpoint\r
+   CodeGenerator\r
+   ExceptionHandling\r
+   AddingConstrainedIntrinsics\r
+   LinkTimeOptimization\r
+   SegmentedStacks\r
+   TableGenFundamentals\r
+   TableGen/index\r
+   DebuggingJITedCode\r
+   GoldPlugin\r
+   MarkedUpDisassembly\r
+   SystemLibrary\r
+   SupportLibrary\r
+   SourceLevelDebugging\r
+   Vectorizers\r
+   WritingAnLLVMBackend\r
+   GarbageCollection\r
+   WritingAnLLVMPass\r
+   HowToUseAttributes\r
+   NVPTXUsage\r
+   AMDGPUUsage\r
+   StackMaps\r
+   InAlloca\r
+   BigEndianNEON\r
+   CoverageMappingFormat\r
+   Statepoints\r
+   MergeFunctions\r
+   TypeMetadata\r
+   TransformMetadata\r
+   FaultMaps\r
+   Coroutines\r
+   GlobalISel\r
+   XRay\r
+   XRayExample\r
+   XRayFDRFormat\r
+   PDB/index\r
+   CFIVerify\r
+   SpeculativeLoadHardening\r
+   StackSafetyAnalysis\r
+   LoopTerminology\r
+   DependenceGraphs/index\r
+\r
+:doc:`WritingAnLLVMPass`\r
+   Information on how to write LLVM transformations and analyses.\r
+\r
+:doc:`WritingAnLLVMBackend`\r
+   Information on how to write LLVM backends for machine targets.\r
+\r
+:doc:`CodeGenerator`\r
+   The design and implementation of the LLVM code generator.  Useful if you are\r
+   working on retargetting LLVM to a new architecture, designing a new codegen\r
+   pass, or enhancing existing components.\r
+\r
+:doc:`TableGen <TableGen/index>`\r
+   Describes the TableGen tool, which is used heavily by the LLVM code\r
+   generator.\r
+\r
+:doc:`AliasAnalysis`\r
+   Information on how to write a new alias analysis implementation or how to\r
+   use existing analyses.\r
+\r
+:doc:`MemorySSA`\r
+   Information about the MemorySSA utility in LLVM, as well as how to use it.\r
+\r
+:doc:`GarbageCollection`\r
+   The interfaces source-language compilers should use for compiling GC'd\r
+   programs.\r
+\r
+:doc:`Source Level Debugging with LLVM <SourceLevelDebugging>`\r
+   This document describes the design and philosophy behind the LLVM\r
+   source-level debugger.\r
+\r
+:doc:`Vectorizers`\r
+   This document describes the current status of vectorization in LLVM.\r
+\r
+:doc:`ExceptionHandling`\r
+   This document describes the design and implementation of exception handling\r
+   in LLVM.\r
+\r
+:doc:`AddingConstrainedIntrinsics`\r
+   Gives the steps necessary when adding a new constrained math intrinsic\r
+   to LLVM.\r
+\r
+:doc:`Bugpoint`\r
+   Automatic bug finder and test-case reducer description and usage\r
+   information.\r
+\r
+:doc:`BitCodeFormat`\r
+   This describes the file format and encoding used for LLVM "bc" files.\r
+\r
+:doc:`Support Library <SupportLibrary>`\r
+   This document describes the LLVM Support Library (``lib/Support``) and\r
+   how to keep LLVM source code portable\r
+\r
+:doc:`LinkTimeOptimization`\r
+   This document describes the interface between LLVM intermodular optimizer\r
+   and the linker and its design\r
+\r
+:doc:`GoldPlugin`\r
+   How to build your programs with link-time optimization on Linux.\r
+\r
+:doc:`DebuggingJITedCode`\r
+   How to debug JITed code with GDB.\r
+\r
+:doc:`MCJITDesignAndImplementation`\r
+   Describes the inner workings of MCJIT execution engine.\r
+\r
+:doc:`ORCv2`\r
+   Describes the design and implementation of the ORC APIs, including some\r
+   usage examples, and a guide for users transitioning from ORCv1 to ORCv2.\r
+\r
+:doc:`BranchWeightMetadata`\r
+   Provides information about Branch Prediction Information.\r
+\r
+:doc:`BlockFrequencyTerminology`\r
+   Provides information about terminology used in the ``BlockFrequencyInfo``\r
+   analysis pass.\r
+\r
+:doc:`SegmentedStacks`\r
+   This document describes segmented stacks and how they are used in LLVM.\r
+\r
+:doc:`MarkedUpDisassembly`\r
+   This document describes the optional rich disassembly output syntax.\r
+\r
+:doc:`HowToUseAttributes`\r
+  Answers some questions about the new Attributes infrastructure.\r
+\r
+:doc:`NVPTXUsage`\r
+   This document describes using the NVPTX backend to compile GPU kernels.\r
+\r
+:doc:`AMDGPUUsage`\r
+   This document describes using the AMDGPU backend to compile GPU kernels.\r
+\r
+:doc:`StackMaps`\r
+  LLVM support for mapping instruction addresses to the location of\r
+  values and allowing code to be patched.\r
+\r
+:doc:`BigEndianNEON`\r
+  LLVM's support for generating NEON instructions on big endian ARM targets is\r
+  somewhat nonintuitive. This document explains the implementation and rationale.\r
+\r
+:doc:`CoverageMappingFormat`\r
+  This describes the format and encoding used for LLVM’s code coverage mapping.\r
+\r
+:doc:`Statepoints`\r
+  This describes a set of experimental extensions for garbage\r
+  collection support.\r
+\r
+:doc:`MergeFunctions`\r
+  Describes functions merging optimization.\r
+\r
+:doc:`InAlloca`\r
+  Description of the ``inalloca`` argument attribute.\r
+\r
+:doc:`FaultMaps`\r
+  LLVM support for folding control flow into faulting machine instructions.\r
+\r
+:doc:`CompileCudaWithLLVM`\r
+  LLVM support for CUDA.\r
+\r
+:doc:`Coroutines`\r
+  LLVM support for coroutines.\r
+\r
+:doc:`GlobalISel`\r
+  This describes the prototype instruction selection replacement, GlobalISel.\r
+\r
+:doc:`XRay`\r
+  High-level documentation of how to use XRay in LLVM.\r
+\r
+:doc:`XRayExample`\r
+  An example of how to debug an application with XRay.\r
+\r
+:doc:`The Microsoft PDB File Format <PDB/index>`\r
+  A detailed description of the Microsoft PDB (Program Database) file format.\r
+\r
+:doc:`CFIVerify`\r
+  A description of the verification tool for Control Flow Integrity.\r
+\r
+:doc:`SpeculativeLoadHardening`\r
+  A description of the Speculative Load Hardening mitigation for Spectre v1.\r
+\r
+:doc:`StackSafetyAnalysis`\r
+  This document describes the design of the stack safety analysis of local\r
+  variables.\r
+\r
+:doc:`LoopTerminology`\r
+  A document describing Loops and associated terms as used in LLVM.\r
+\r
+:doc:`Dependence Graphs <DependenceGraphs/index>`\r
+  A description of the design of the various dependence graphs such as\r
+  the DDG (Data Dependence Graph).\r