218 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
			
		
		
	
	
			218 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
Reference
 | 
						|
=========
 | 
						|
 | 
						|
LLVM and API reference documentation.
 | 
						|
 | 
						|
.. contents::
 | 
						|
   :local:
 | 
						|
 | 
						|
.. toctree::
 | 
						|
   :hidden:
 | 
						|
 | 
						|
   Atomics
 | 
						|
   BitCodeFormat
 | 
						|
   BlockFrequencyTerminology
 | 
						|
   BranchWeightMetadata
 | 
						|
   Bugpoint
 | 
						|
   CommandGuide/index
 | 
						|
   Coroutines
 | 
						|
   DependenceGraphs/index
 | 
						|
   ExceptionHandling
 | 
						|
   Extensions
 | 
						|
   FaultMaps
 | 
						|
   FuzzingLLVM
 | 
						|
   GarbageCollection
 | 
						|
   GetElementPtr
 | 
						|
   GlobalISel/index
 | 
						|
   GwpAsan
 | 
						|
   HowToSetUpLLVMStyleRTTI
 | 
						|
   HowToUseAttributes
 | 
						|
   InAlloca
 | 
						|
   LangRef
 | 
						|
   LibFuzzer
 | 
						|
   MarkedUpDisassembly
 | 
						|
   MIRLangRef
 | 
						|
   OptBisect
 | 
						|
   ORCv2
 | 
						|
   PDB/index
 | 
						|
   ScudoHardenedAllocator
 | 
						|
   MemTagSanitizer
 | 
						|
   Security
 | 
						|
   SegmentedStacks
 | 
						|
   StackMaps
 | 
						|
   SpeculativeLoadHardening
 | 
						|
   Statepoints
 | 
						|
   SystemLibrary
 | 
						|
   TestingGuide
 | 
						|
   TransformMetadata
 | 
						|
   TypeMetadata
 | 
						|
   XRay
 | 
						|
   XRayExample
 | 
						|
   XRayFDRFormat
 | 
						|
   YamlIO
 | 
						|
 | 
						|
API Reference
 | 
						|
-------------
 | 
						|
 | 
						|
`Doxygen generated documentation <https://llvm.org/doxygen/>`_
 | 
						|
  (`classes <https://llvm.org/doxygen/inherits.html>`_)
 | 
						|
 | 
						|
:doc:`HowToUseAttributes`
 | 
						|
  Answers some questions about the new Attributes infrastructure.
 | 
						|
 | 
						|
`Documentation for Go bindings <http://godoc.org/llvm.org/llvm/bindings/go/llvm>`_
 | 
						|
 | 
						|
:doc:`ORCv2`
 | 
						|
   Describes the design and implementation of the ORC APIs, including some
 | 
						|
   usage examples, and a guide for users transitioning from ORCv1 to ORCv2.
 | 
						|
 | 
						|
LLVM Reference
 | 
						|
--------------
 | 
						|
 | 
						|
======================
 | 
						|
Command Line Utilities
 | 
						|
======================
 | 
						|
 | 
						|
:doc:`LLVM Command Guide <CommandGuide/index>`
 | 
						|
   A reference manual for the LLVM command line utilities ("man" pages for LLVM
 | 
						|
   tools).
 | 
						|
 | 
						|
:doc:`Bugpoint`
 | 
						|
   Automatic bug finder and test-case reducer description and usage
 | 
						|
   information.
 | 
						|
 | 
						|
:doc:`OptBisect`
 | 
						|
  A command line option for debugging optimization-induced failures.
 | 
						|
 | 
						|
:doc:`The Microsoft PDB File Format <PDB/index>`
 | 
						|
  A detailed description of the Microsoft PDB (Program Database) file format.
 | 
						|
 | 
						|
==================
 | 
						|
Garbage Collection
 | 
						|
==================
 | 
						|
 | 
						|
:doc:`GarbageCollection`
 | 
						|
   The interfaces source-language compilers should use for compiling GC'd
 | 
						|
   programs.
 | 
						|
 | 
						|
:doc:`Statepoints`
 | 
						|
  This describes a set of experimental extensions for garbage
 | 
						|
  collection support.
 | 
						|
 | 
						|
=========
 | 
						|
LibFuzzer
 | 
						|
=========
 | 
						|
 | 
						|
:doc:`LibFuzzer`
 | 
						|
  A library for writing in-process guided fuzzers.
 | 
						|
 | 
						|
:doc:`FuzzingLLVM`
 | 
						|
  Information on writing and using Fuzzers to find bugs in LLVM.
 | 
						|
 | 
						|
========
 | 
						|
LLVM IR
 | 
						|
========
 | 
						|
 | 
						|
:doc:`LLVM Language Reference Manual <LangRef>`
 | 
						|
  Defines the LLVM intermediate representation and the assembly form of the
 | 
						|
  different nodes.
 | 
						|
 | 
						|
:doc:`InAlloca`
 | 
						|
  Description of the ``inalloca`` argument attribute.
 | 
						|
 | 
						|
:doc:`BitCodeFormat`
 | 
						|
   This describes the file format and encoding used for LLVM "bc" files.
 | 
						|
 | 
						|
:doc:`Machine IR (MIR) Format Reference Manual <MIRLangRef>`
 | 
						|
   A reference manual for the MIR serialization format, which is used to test
 | 
						|
   LLVM's code generation passes.
 | 
						|
 | 
						|
:doc:`GlobalISel/index`
 | 
						|
  This describes the prototype instruction selection replacement, GlobalISel.
 | 
						|
 | 
						|
=====================
 | 
						|
Testing and Debugging
 | 
						|
=====================
 | 
						|
 | 
						|
:doc:`LLVM Testing Infrastructure Guide <TestingGuide>`
 | 
						|
   A reference manual for using the LLVM testing infrastructure.
 | 
						|
 | 
						|
:doc:`TestSuiteGuide`
 | 
						|
  Describes how to compile and run the test-suite benchmarks.
 | 
						|
 | 
						|
 | 
						|
:doc:`GwpAsan`
 | 
						|
  A sampled heap memory error detection toolkit designed for production use.
 | 
						|
 | 
						|
====
 | 
						|
XRay
 | 
						|
====
 | 
						|
 | 
						|
:doc:`XRay`
 | 
						|
  High-level documentation of how to use XRay in LLVM.
 | 
						|
 | 
						|
:doc:`XRayExample`
 | 
						|
  An example of how to debug an application with XRay.
 | 
						|
 | 
						|
=================
 | 
						|
Additional Topics
 | 
						|
=================
 | 
						|
 | 
						|
:doc:`FaultMaps`
 | 
						|
  LLVM support for folding control flow into faulting machine instructions.
 | 
						|
 | 
						|
:doc:`Atomics`
 | 
						|
  Information about LLVM's concurrency model.
 | 
						|
 | 
						|
:doc:`ExceptionHandling`
 | 
						|
   This document describes the design and implementation of exception handling
 | 
						|
   in LLVM.
 | 
						|
 | 
						|
:doc:`Extensions`
 | 
						|
  LLVM-specific extensions to tools and formats LLVM seeks compatibility with.
 | 
						|
 | 
						|
:doc:`HowToSetUpLLVMStyleRTTI`
 | 
						|
  How to make ``isa<>``, ``dyn_cast<>``, etc. available for clients of your
 | 
						|
  class hierarchy.
 | 
						|
 | 
						|
:doc:`BlockFrequencyTerminology`
 | 
						|
   Provides information about terminology used in the ``BlockFrequencyInfo``
 | 
						|
   analysis pass.
 | 
						|
 | 
						|
:doc:`BranchWeightMetadata`
 | 
						|
   Provides information about Branch Prediction Information.
 | 
						|
 | 
						|
:doc:`GetElementPtr`
 | 
						|
  Answers to some very frequent questions about LLVM's most frequently
 | 
						|
  misunderstood instruction.
 | 
						|
 | 
						|
:doc:`ScudoHardenedAllocator`
 | 
						|
  A library that implements a security-hardened `malloc()`.
 | 
						|
 | 
						|
:doc:`MemTagSanitizer`
 | 
						|
  Security hardening for production code aiming to mitigate memory
 | 
						|
  related vulnerabilities. Based on the Armv8.5-A Memory Tagging Extension.
 | 
						|
 | 
						|
:doc:`Dependence Graphs <DependenceGraphs/index>`
 | 
						|
  A description of the design of the various dependence graphs such as
 | 
						|
  the DDG (Data Dependence Graph).
 | 
						|
 | 
						|
:doc:`SpeculativeLoadHardening`
 | 
						|
  A description of the Speculative Load Hardening mitigation for Spectre v1.
 | 
						|
 | 
						|
:doc:`SegmentedStacks`
 | 
						|
   This document describes segmented stacks and how they are used in LLVM.
 | 
						|
 | 
						|
:doc:`MarkedUpDisassembly`
 | 
						|
   This document describes the optional rich disassembly output syntax.
 | 
						|
 | 
						|
:doc:`StackMaps`
 | 
						|
  LLVM support for mapping instruction addresses to the location of
 | 
						|
  values and allowing code to be patched.
 | 
						|
 | 
						|
:doc:`Coroutines`
 | 
						|
  LLVM support for coroutines.
 | 
						|
 | 
						|
:doc:`YamlIO`
 | 
						|
   A reference guide for using LLVM's YAML I/O library.
 |