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