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