2012-04-19 16:31:37 +00:00
|
|
|
.. _subsystems:
|
|
|
|
|
|
|
|
Subsystem Documentation
|
|
|
|
=======================
|
|
|
|
|
2012-06-20 09:49:57 +00:00
|
|
|
.. toctree::
|
|
|
|
:hidden:
|
|
|
|
|
|
|
|
AliasAnalysis
|
2012-06-28 08:43:12 +00:00
|
|
|
BitCodeFormat
|
2012-06-20 10:17:46 +00:00
|
|
|
BranchWeightMetadata
|
2012-06-26 11:37:00 +00:00
|
|
|
Bugpoint
|
2012-08-02 08:49:53 +00:00
|
|
|
CodeGenerator
|
2012-06-27 07:20:57 +00:00
|
|
|
ExceptionHandling
|
2012-06-20 10:08:02 +00:00
|
|
|
LinkTimeOptimization
|
2012-06-20 12:05:05 +00:00
|
|
|
SegmentedStacks
|
2012-06-21 06:58:24 +00:00
|
|
|
TableGenFundamentals
|
2012-09-20 03:20:53 +00:00
|
|
|
DebuggingJITedCode
|
2012-10-04 03:56:23 +00:00
|
|
|
GoldPlugin
|
2012-10-24 23:30:22 +00:00
|
|
|
MarkedUpDisassembly
|
2012-11-14 01:49:23 +00:00
|
|
|
HowToUseInstrMappings
|
2012-11-18 18:40:21 +00:00
|
|
|
SystemLibrary
|
2012-11-22 11:56:02 +00:00
|
|
|
SourceLevelDebugging
|
2012-12-01 12:13:48 +00:00
|
|
|
WritingAnLLVMBackend
|
2012-11-14 01:49:23 +00:00
|
|
|
|
|
|
|
.. FIXME: once LangRef is Sphinxified, HowToUseInstrMappings should be put
|
|
|
|
under LangRef's toctree instead of this page's toctree.
|
2012-06-20 09:49:57 +00:00
|
|
|
|
2012-06-20 09:50:45 +00:00
|
|
|
* `Writing an LLVM Pass <WritingAnLLVMPass.html>`_
|
2012-04-19 16:31:37 +00:00
|
|
|
|
2012-06-20 09:50:45 +00:00
|
|
|
Information on how to write LLVM transformations and analyses.
|
2012-04-19 16:31:37 +00:00
|
|
|
|
2012-12-01 12:13:48 +00:00
|
|
|
* :doc:`WritingAnLLVMBackend`
|
|
|
|
|
2012-06-20 09:50:45 +00:00
|
|
|
Information on how to write LLVM backends for machine targets.
|
2012-08-02 08:49:53 +00:00
|
|
|
|
|
|
|
* :ref:`code_generator`
|
|
|
|
|
2012-06-20 09:50:45 +00:00
|
|
|
The design and implementation of the LLVM code generator. Useful if you are
|
|
|
|
working on retargetting LLVM to a new architecture, designing a new codegen
|
|
|
|
pass, or enhancing existing components.
|
2012-04-19 16:31:37 +00:00
|
|
|
|
2012-06-21 06:58:24 +00:00
|
|
|
* :ref:`tablegen`
|
|
|
|
|
2012-06-20 09:50:45 +00:00
|
|
|
Describes the TableGen tool, which is used heavily by the LLVM code
|
|
|
|
generator.
|
2012-04-19 16:31:37 +00:00
|
|
|
|
2012-06-20 09:50:45 +00:00
|
|
|
* :ref:`alias_analysis`
|
2012-04-19 16:31:37 +00:00
|
|
|
|
2012-06-20 09:50:45 +00:00
|
|
|
Information on how to write a new alias analysis implementation or how to
|
|
|
|
use existing analyses.
|
2012-04-19 16:31:37 +00:00
|
|
|
|
2012-06-20 09:50:45 +00:00
|
|
|
* `Accurate Garbage Collection with LLVM <GarbageCollection.html>`_
|
2012-04-19 16:31:37 +00:00
|
|
|
|
2012-06-20 09:50:45 +00:00
|
|
|
The interfaces source-language compilers should use for compiling GC'd
|
|
|
|
programs.
|
2012-06-20 12:05:05 +00:00
|
|
|
|
2012-11-22 11:56:02 +00:00
|
|
|
* :doc:`Source Level Debugging with LLVM <SourceLevelDebugging>`
|
2012-04-19 16:31:37 +00:00
|
|
|
|
2012-06-20 09:50:45 +00:00
|
|
|
This document describes the design and philosophy behind the LLVM
|
|
|
|
source-level debugger.
|
2012-04-19 16:31:37 +00:00
|
|
|
|
2012-06-27 07:20:57 +00:00
|
|
|
* :ref:`exception_handling`
|
2012-04-19 16:31:37 +00:00
|
|
|
|
2012-06-20 09:50:45 +00:00
|
|
|
This document describes the design and implementation of exception handling
|
|
|
|
in LLVM.
|
2012-04-19 16:31:37 +00:00
|
|
|
|
2012-06-26 11:37:00 +00:00
|
|
|
* :ref:`bugpoint`
|
2012-04-19 16:31:37 +00:00
|
|
|
|
2012-06-20 09:50:45 +00:00
|
|
|
Automatic bug finder and test-case reducer description and usage
|
|
|
|
information.
|
2012-04-19 16:31:37 +00:00
|
|
|
|
2012-06-28 08:43:12 +00:00
|
|
|
* :ref:`bitcode_format`
|
2012-04-19 16:31:37 +00:00
|
|
|
|
2012-06-20 09:50:45 +00:00
|
|
|
This describes the file format and encoding used for LLVM "bc" files.
|
2012-04-19 16:31:37 +00:00
|
|
|
|
2012-11-18 18:40:21 +00:00
|
|
|
* :doc:`System Library <SystemLibrary>`
|
2012-04-19 16:31:37 +00:00
|
|
|
|
2012-11-18 18:40:21 +00:00
|
|
|
This document describes the LLVM System Library (``lib/System``) and
|
2012-06-20 09:50:45 +00:00
|
|
|
how to keep LLVM source code portable
|
2012-04-19 16:31:37 +00:00
|
|
|
|
2012-06-20 10:08:02 +00:00
|
|
|
* :ref:`lto`
|
2012-04-19 16:31:37 +00:00
|
|
|
|
2012-06-20 09:50:45 +00:00
|
|
|
This document describes the interface between LLVM intermodular optimizer
|
|
|
|
and the linker and its design
|
2012-04-19 16:31:37 +00:00
|
|
|
|
2012-10-04 03:56:23 +00:00
|
|
|
* :ref:`gold-plugin`
|
2012-04-19 16:31:37 +00:00
|
|
|
|
2012-06-20 09:50:45 +00:00
|
|
|
How to build your programs with link-time optimization on Linux.
|
2012-04-19 16:31:37 +00:00
|
|
|
|
2012-09-20 03:20:53 +00:00
|
|
|
* :ref:`debugging-jited-code`
|
2012-04-19 16:31:37 +00:00
|
|
|
|
2012-06-20 09:50:45 +00:00
|
|
|
How to debug JITed code with GDB.
|
2012-04-19 16:31:37 +00:00
|
|
|
|
2012-06-20 10:17:46 +00:00
|
|
|
* :ref:`branch_weight`
|
2012-04-19 16:31:37 +00:00
|
|
|
|
2012-06-20 09:50:45 +00:00
|
|
|
Provides information about Branch Prediction Information.
|
2012-06-20 12:05:05 +00:00
|
|
|
|
|
|
|
* :ref:`segmented_stacks`
|
|
|
|
|
|
|
|
This document describes segmented stacks and how they are used in LLVM.
|
2012-10-17 16:36:27 +00:00
|
|
|
|
|
|
|
* `Howto: Implementing LLVM Integrated Assembler`_
|
|
|
|
|
|
|
|
A simple guide for how to implement an LLVM integrated assembler for an
|
|
|
|
architecture.
|
|
|
|
|
|
|
|
.. _`Howto: Implementing LLVM Integrated Assembler`: http://www.embecosm.com/download/ean10.html
|
2012-10-24 23:30:22 +00:00
|
|
|
|
|
|
|
* :ref:`marked_up_disassembly`
|
|
|
|
|
|
|
|
This document describes the optional rich disassembly output syntax.
|
|
|
|
|