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