X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=docs%2Findex.rst;h=0b6811809704d4f1ea5a1425ef6dbcb08be9277a;hb=953c6814730951ad9a286d7991e9c8c481433d45;hp=c3bb8089da303d873e71d3783ade4ff4f70cf4a4;hpb=531ebc8a3cf0fdc5c30d072ab356283ce8dd145f;p=oota-llvm.git diff --git a/docs/index.rst b/docs/index.rst index c3bb8089da3..0b681180970 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -66,9 +66,11 @@ representation. CMake HowToBuildOnARM + HowToCrossCompileLLVM CommandGuide/index GettingStarted GettingStartedVS + BuildingLLVMWithAutotools FAQ Lexicon HowToAddABuilder @@ -82,6 +84,8 @@ representation. Passes YamlIO GetElementPtr + Frontend/PerformanceTips + MCJITDesignAndImplementation :doc:`GettingStarted` Discusses how to get up and running quickly with the LLVM infrastructure. @@ -95,10 +99,17 @@ representation. :doc:`HowToBuildOnARM` Notes on building and testing LLVM/Clang on ARM. +:doc:`HowToCrossCompileLLVM` + Notes on cross-building and testing LLVM/Clang. + :doc:`GettingStartedVS` An addendum to the main Getting Started guide for those using Visual Studio on Windows. +:doc:`BuildingLLVMWithAutotools` + An addendum to the Getting Started guide with instructions for building LLVM + with the Autotools build system. + :doc:`tutorial/index` Tutorials about using LLVM. Includes a tutorial about making a custom language with LLVM. @@ -145,6 +156,11 @@ representation. Answers to some very frequent questions about LLVM's most frequently misunderstood instruction. +:doc:`Frontend/PerformanceTips` + A collection of tips for frontend authors on how to generate IR + which LLVM is able to effectively optimize. + + Programming Documentation ========================= @@ -160,6 +176,8 @@ For developers of applications which use LLVM as a library. ExtendingLLVM HowToSetUpLLVMStyleRTTI ProgrammersManual + Extensions + LibFuzzer :doc:`LLVM Language Reference Manual ` Defines the LLVM intermediate representation and the assembly form of the @@ -172,6 +190,9 @@ For developers of applications which use LLVM as a library. Introduction to the general layout of the LLVM sourcebase, important classes and APIs, and some tips & tricks. +:doc:`Extensions` + LLVM-specific extensions to tools and formats LLVM seeks compatibility with. + :doc:`CommandLine` Provides information on using the command line parsing library. @@ -190,12 +211,17 @@ For developers of applications which use LLVM as a library. (`classes `_) (`tarball `_) +`Documentation for Go bindings `_ + `ViewVC Repository Browser `_ .. :doc:`CompilerWriterInfo` A list of helpful links for compiler writers. +:doc:`LibFuzzer` + A library for writing in-process guided fuzzers. + Subsystem Documentation ======================= @@ -206,6 +232,7 @@ For API clients and LLVM developers. AliasAnalysis BitCodeFormat + BlockFrequencyTerminology BranchWeightMetadata Bugpoint CodeGenerator @@ -213,6 +240,7 @@ For API clients and LLVM developers. LinkTimeOptimization SegmentedStacks TableGenFundamentals + TableGen/index DebuggingJITedCode GoldPlugin MarkedUpDisassembly @@ -222,9 +250,16 @@ For API clients and LLVM developers. WritingAnLLVMBackend GarbageCollection WritingAnLLVMPass - TableGen/LangRef HowToUseAttributes NVPTXUsage + AMDGPUUsage + StackMaps + InAlloca + BigEndianNEON + CoverageMappingFormat + Statepoints + MergeFunctions + BitSets :doc:`WritingAnLLVMPass` Information on how to write LLVM transformations and analyses. @@ -237,7 +272,7 @@ For API clients and LLVM developers. working on retargetting LLVM to a new architecture, designing a new codegen pass, or enhancing existing components. -:doc:`TableGenFundamentals` +:doc:`TableGen ` Describes the TableGen tool, which is used heavily by the LLVM code generator. @@ -281,9 +316,16 @@ For API clients and LLVM developers. :doc:`DebuggingJITedCode` How to debug JITed code with GDB. +:doc:`MCJITDesignAndImplementation` + Describes the inner workings of MCJIT execution engine. + :doc:`BranchWeightMetadata` Provides information about Branch Prediction Information. +:doc:`BlockFrequencyTerminology` + Provides information about terminology used in the ``BlockFrequencyInfo`` + analysis pass. + :doc:`SegmentedStacks` This document describes segmented stacks and how they are used in LLVM. @@ -296,6 +338,29 @@ For API clients and LLVM developers. :doc:`NVPTXUsage` This document describes using the NVPTX back-end to compile GPU kernels. +:doc:`AMDGPUUsage` + This document describes how to use the AMDGPU back-end. + +:doc:`StackMaps` + LLVM support for mapping instruction addresses to the location of + values and allowing code to be patched. + +:doc:`BigEndianNEON` + LLVM's support for generating NEON instructions on big endian ARM targets is + somewhat nonintuitive. This document explains the implementation and rationale. + +:doc:`CoverageMappingFormat` + This describes the format and encoding used for LLVM’s code coverage mapping. + +:doc:`Statepoints` + This describes a set of experimental extensions for garbage + collection support. + +:doc:`MergeFunctions` + Describes functions merging optimization. + +:doc:`InAlloca` + Description of the ``inalloca`` argument attribute. Development Process Documentation ================================= @@ -311,6 +376,8 @@ Information about LLVM's development process. LLVMBuild HowToReleaseLLVM Packaging + ReleaseProcess + Phabricator :doc:`DeveloperPolicy` The LLVM project's policy towards developers and their contributions. @@ -331,9 +398,16 @@ Information about LLVM's development process. :doc:`HowToReleaseLLVM` This is a guide to preparing LLVM releases. Most developers can ignore it. +:doc:`ReleaseProcess` + This is a guide to validate a new release, during the release process. Most developers can ignore it. + :doc:`Packaging` Advice on packaging LLVM into a distribution. +:doc:`Phabricator` + Describes how to use the Phabricator code review tool hosted on + http://reviews.llvm.org/ and its command line interface, Arcanist. + Community =========