Fix && to && in Coding Standards.
[oota-llvm.git] / docs / subsystems.rst
1 .. _subsystems:
2
3 Subsystem Documentation
4 =======================
5
6 .. toctree::
7    :hidden:
8
9    AliasAnalysis
10    BitCodeFormat
11    BranchWeightMetadata
12    Bugpoint
13    CodeGenerator
14    ExceptionHandling
15    LinkTimeOptimization
16    SegmentedStacks
17    TableGenFundamentals
18    DebuggingJITedCode
19
20 * `Writing an LLVM Pass <WritingAnLLVMPass.html>`_
21     
22    Information on how to write LLVM transformations and analyses.
23     
24 * `Writing an LLVM Backend <WritingAnLLVMBackend.html>`_
25     
26    Information on how to write LLVM backends for machine targets.
27
28 * :ref:`code_generator`
29
30    The design and implementation of the LLVM code generator.  Useful if you are
31    working on retargetting LLVM to a new architecture, designing a new codegen
32    pass, or enhancing existing components.
33     
34 * :ref:`tablegen`
35
36    Describes the TableGen tool, which is used heavily by the LLVM code
37    generator.
38     
39 * :ref:`alias_analysis`
40     
41    Information on how to write a new alias analysis implementation or how to
42    use existing analyses.
43     
44 * `Accurate Garbage Collection with LLVM <GarbageCollection.html>`_
45     
46    The interfaces source-language compilers should use for compiling GC'd
47    programs.
48
49 * `Source Level Debugging with LLVM <SourceLevelDebugging.html>`_
50     
51    This document describes the design and philosophy behind the LLVM
52    source-level debugger.
53     
54 * :ref:`exception_handling`
55     
56    This document describes the design and implementation of exception handling
57    in LLVM.
58     
59 * :ref:`bugpoint`
60     
61    Automatic bug finder and test-case reducer description and usage
62    information.
63     
64 * :ref:`bitcode_format`
65     
66    This describes the file format and encoding used for LLVM "bc" files.
67     
68 * `System Library <SystemLibrary.html>`_
69     
70    This document describes the LLVM System Library (<tt>lib/System</tt>) and
71    how to keep LLVM source code portable
72     
73 * :ref:`lto`
74     
75    This document describes the interface between LLVM intermodular optimizer
76    and the linker and its design
77     
78 * `The LLVM gold plugin <GoldPlugin.html>`_
79     
80    How to build your programs with link-time optimization on Linux.
81     
82 * :ref:`debugging-jited-code`
83     
84    How to debug JITed code with GDB.
85     
86 * :ref:`branch_weight`
87     
88    Provides information about Branch Prediction Information.
89
90 * :ref:`segmented_stacks`
91
92    This document describes segmented stacks and how they are used in LLVM.