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