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