summaryrefslogtreecommitdiff
path: root/docs/subsystems.rst
blob: 3a0db7878d9b294fcbd5402e6b8eba9e801e186c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
.. _subsystems:

Subsystem Documentation
=======================

 * `Writing an LLVM Pass <WritingAnLLVMPass.html>`_
    
    Information on how to write LLVM transformations and analyses.
    
 * `Writing an LLVM Backend <WritingAnLLVMBackend.html>`_
    
    Information on how to write LLVM backends for machine targets.
    
 * `The LLVM Target-Independent Code Generator <CodeGenerator.html>`_
    
    The design and implementation of the LLVM code generator.  Useful if you are
    working on retargetting LLVM to a new architecture, designing a new codegen
    pass, or enhancing existing components.
    
 * `TableGen Fundamentals <TableGenFundamentals.html>`_
    
    Describes the TableGen tool, which is used heavily by the LLVM code
    generator.
    
 * `Alias Analysis in LLVM <AliasAnalysis.html>`_
    
    Information on how to write a new alias analysis implementation or how to
    use existing analyses.
    
 * `Accurate Garbage Collection with LLVM <GarbageCollection.html>`_
    
    The interfaces source-language compilers should use for compiling GC'd
    programs.
    
 * `Source Level Debugging with LLVM <SourceLevelDebugging.html>`_
    
    This document describes the design and philosophy behind the LLVM
    source-level debugger.
    
 * `Zero Cost Exception handling in LLVM <ExceptionHandling.html>`_
    
    This document describes the design and implementation of exception handling
    in LLVM.
    
 * `Bugpoint <Bugpoint.html>`_
    
    Automatic bug finder and test-case reducer description and usage
    information.
    
 * `LLVM Bitcode File Format <BitCodeFormat.html>`_
    
    This describes the file format and encoding used for LLVM "bc" files.
    
 * `System Library <SystemLibrary.html>`_
    
    This document describes the LLVM System Library (<tt>lib/System</tt>) and
    how to keep LLVM source code portable
    
 * `Link Time Optimization <LinkTimeOptimization.html>`_
    
    This document describes the interface between LLVM intermodular optimizer
    and the linker and its design
    
 * `The LLVM gold plugin <GoldPlugin.html>`_
    
    How to build your programs with link-time optimization on Linux.
    
 * `The GDB JIT interface <DebuggingJITedCode.html>`_
    
    How to debug JITed code with GDB.
    
 * `Branch Weight Metadata <BranchWeightMetadata.html>`_
    
    Provides information about Branch Prediction Information.