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