hanchenye-llvm-project/llvm/docs/subsystems.rst

88 lines
2.4 KiB
ReStructuredText
Raw Normal View History

.. _subsystems:
Subsystem Documentation
=======================
.. toctree::
:hidden:
AliasAnalysis
BranchWeightMetadata
LinkTimeOptimization
SegmentedStacks
TableGenFundamentals
2012-06-20 17:50:45 +08:00
* `Writing an LLVM Pass <WritingAnLLVMPass.html>`_
2012-06-20 17:50:45 +08:00
Information on how to write LLVM transformations and analyses.
2012-06-20 17:50:45 +08:00
* `Writing an LLVM Backend <WritingAnLLVMBackend.html>`_
2012-06-20 17:50:45 +08:00
Information on how to write LLVM backends for machine targets.
2012-06-20 17:50:45 +08:00
* `The LLVM Target-Independent Code Generator <CodeGenerator.html>`_
2012-06-20 17:50:45 +08: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.
* :ref:`tablegen`
2012-06-20 17:50:45 +08:00
Describes the TableGen tool, which is used heavily by the LLVM code
generator.
2012-06-20 17:50:45 +08:00
* :ref:`alias_analysis`
2012-06-20 17:50:45 +08:00
Information on how to write a new alias analysis implementation or how to
use existing analyses.
2012-06-20 17:50:45 +08:00
* `Accurate Garbage Collection with LLVM <GarbageCollection.html>`_
2012-06-20 17:50:45 +08:00
The interfaces source-language compilers should use for compiling GC'd
programs.
2012-06-20 17:50:45 +08:00
* `Source Level Debugging with LLVM <SourceLevelDebugging.html>`_
2012-06-20 17:50:45 +08:00
This document describes the design and philosophy behind the LLVM
source-level debugger.
2012-06-20 17:50:45 +08:00
* `Zero Cost Exception handling in LLVM <ExceptionHandling.html>`_
2012-06-20 17:50:45 +08:00
This document describes the design and implementation of exception handling
in LLVM.
2012-06-20 17:50:45 +08:00
* `Bugpoint <Bugpoint.html>`_
2012-06-20 17:50:45 +08:00
Automatic bug finder and test-case reducer description and usage
information.
2012-06-20 17:50:45 +08:00
* `LLVM Bitcode File Format <BitCodeFormat.html>`_
2012-06-20 17:50:45 +08:00
This describes the file format and encoding used for LLVM "bc" files.
2012-06-20 17:50:45 +08:00
* `System Library <SystemLibrary.html>`_
2012-06-20 17:50:45 +08:00
This document describes the LLVM System Library (<tt>lib/System</tt>) and
how to keep LLVM source code portable
* :ref:`lto`
2012-06-20 17:50:45 +08:00
This document describes the interface between LLVM intermodular optimizer
and the linker and its design
2012-06-20 17:50:45 +08:00
* `The LLVM gold plugin <GoldPlugin.html>`_
2012-06-20 17:50:45 +08:00
How to build your programs with link-time optimization on Linux.
2012-06-20 17:50:45 +08:00
* `The GDB JIT interface <DebuggingJITedCode.html>`_
2012-06-20 17:50:45 +08:00
How to debug JITed code with GDB.
* :ref:`branch_weight`
2012-06-20 17:50:45 +08:00
Provides information about Branch Prediction Information.
* :ref:`segmented_stacks`
This document describes segmented stacks and how they are used in LLVM.