blob: d75769a793899c2a4799d633dae20736de6525b0 [file] [log] [blame]
DeForest Richardse3e66242019-09-05 17:30:52 +00001User Guides
2===========
3
4For those new to the LLVM system.
5
6NOTE: If you are a user who is only interested in using an LLVM-based compiler,
7you should look into `Clang <http://clang.llvm.org>`_ instead. The
8documentation here is intended for users who have a need to work with the
9intermediate LLVM representation.
10
11.. toctree::
12 :hidden:
13
14 CMake
15 CMakePrimer
16 AdvancedBuilds
17 HowToBuildOnARM
18 HowToBuildWithPGO
19 HowToCrossCompileBuiltinsOnArm
20 HowToCrossCompileLLVM
DeForest Richardse3e66242019-09-05 17:30:52 +000021 yaml2obj
DeForest Richardse3e66242019-09-05 17:30:52 +000022 MarkdownQuickstartTemplate
23 Phabricator
DeForest Richardse3e66242019-09-05 17:30:52 +000024 Passes
25 YamlIO
26 GetElementPtr
27 Frontend/PerformanceTips
28 MCJITDesignAndImplementation
29 ORCv2
30 CodeOfConduct
31 CompileCudaWithLLVM
32 ReportingGuide
33 Benchmarking
34 Docker
35 BuildingADistribution
36 Remarks
37
DeForest Richards2605f8c2019-09-27 19:12:00 +000038Building, Packaging, and Distributing LLVM
39------------------------------------------
40
41How to build, package, and distribute LLVM.
42
43=====
44CMake
45=====
46
47:doc:`BuildingADistribution`
48 A best-practices guide for using LLVM's CMake build system to package and
49 distribute LLVM-based tools.
50
DeForest Richardse3e66242019-09-05 17:30:52 +000051:doc:`CMake`
52 An addendum to the main Getting Started guide for those using the `CMake
53 build system <http://www.cmake.org>`_.
54
DeForest Richards2605f8c2019-09-27 19:12:00 +000055=====
56Clang
57=====
58
DeForest Richardse3e66242019-09-05 17:30:52 +000059:doc:`HowToBuildOnARM`
60 Notes on building and testing LLVM/Clang on ARM.
61
62:doc:`HowToBuildWithPGO`
63 Notes on building LLVM/Clang with PGO.
64
DeForest Richardse3e66242019-09-05 17:30:52 +000065:doc:`HowToCrossCompileLLVM`
66 Notes on cross-building and testing LLVM/Clang.
67
DeForest Richards2605f8c2019-09-27 19:12:00 +000068`How to build the C, C++, ObjC, and ObjC++ front end`__
69 Instructions for building the clang front-end from source.
70
71 .. __: http://clang.llvm.org/get_started.html
72
73======
74Docker
75======
76
77:doc:`Docker`
78 A reference for using Dockerfiles provided with LLVM.
79
80=================
81Additional Topics
82=================
83
84:doc:`HowToCrossCompileBuiltinsOnArm`
85 Notes on cross-building and testing the compiler-rt builtins for Arm.
86
DeForest Richardse3e66242019-09-05 17:30:52 +000087:doc:`Passes`
88 A list of optimizations and analyses implemented in LLVM.
89
DeForest Richardse3e66242019-09-05 17:30:52 +000090:doc:`TestSuiteGuide`
91 Describes how to compile and run the test-suite benchmarks.
92
DeForest Richardse3e66242019-09-05 17:30:52 +000093:doc:`YamlIO`
94 A reference guide for using LLVM's YAML I/O library.
95
96:doc:`GetElementPtr`
97 Answers to some very frequent questions about LLVM's most frequently
98 misunderstood instruction.
99
100:doc:`Frontend/PerformanceTips`
101 A collection of tips for frontend authors on how to generate IR
102 which LLVM is able to effectively optimize.
103
DeForest Richardse3e66242019-09-05 17:30:52 +0000104:doc:`Remarks`
105 A reference on the implementation of remarks in LLVM.