[docs] Add LICENSE.txt to the root of the mono-repo
[llvm-project.git] / llvm / docs / ReleaseNotes.rst
blobb107b590aaab717acfaf8e6483e14fc46a516c2f
1 ============================
2 LLVM |release| Release Notes
3 ============================
5 .. contents::
6     :local:
8 .. only:: PreRelease
10   .. warning::
11      These are in-progress notes for the upcoming LLVM |version| release.
12      Release notes for previous releases can be found on
13      `the Download Page <https://releases.llvm.org/download.html>`_.
16 Introduction
17 ============
19 This document contains the release notes for the LLVM Compiler Infrastructure,
20 release |release|.  Here we describe the status of LLVM, including major improvements
21 from the previous release, improvements in various subprojects of LLVM, and
22 some of the current users of the code.  All LLVM releases may be downloaded
23 from the `LLVM releases web site <https://llvm.org/releases/>`_.
25 For more information about LLVM, including information about the latest
26 release, please check out the `main LLVM web site <https://llvm.org/>`_.  If you
27 have questions or comments, the `Discourse forums
28 <https://discourse.llvm.org>`_ is a good place to ask
29 them.
31 Note that if you are reading this file from a Git checkout or the main
32 LLVM web page, this document applies to the *next* release, not the current
33 one.  To see the release notes for a specific release, please see the `releases
34 page <https://llvm.org/releases/>`_.
36 Non-comprehensive list of changes in this release
37 =================================================
38 .. NOTE
39    For small 1-3 sentence descriptions, just add an entry at the end of
40    this list. If your description won't fit comfortably in one bullet
41    point (e.g. maybe you would like to give an example of the
42    functionality, or simply have a lot to talk about), see the `NOTE` below
43    for adding a new subsection.
45 * ...
47 Update on required toolchains to build LLVM
48 -------------------------------------------
50 LLVM is now built with C++17 by default. This means C++17 can be used in
51 the code base.
53 The previous "soft" toolchain requirements have now been changed to "hard".
54 This means that the the following versions are now required to build LLVM
55 and there is no way to suppress this error.
57 * GCC >= 7.1
58 * Clang >= 5.0
59 * Apple Clang >= 9.3
60 * Visual Studio 2019 >= 16.7
62 Changes to the LLVM IR
63 ----------------------
65 Changes to building LLVM
66 ------------------------
68 Changes to TableGen
69 -------------------
71 Changes to the AArch64 Backend
72 ------------------------------
74 Changes to the AMDGPU Backend
75 -----------------------------
77 Changes to the ARM Backend
78 --------------------------
80 Changes to the AVR Backend
81 --------------------------
83 * ...
85 Changes to the DirectX Backend
86 ------------------------------
88 Changes to the Hexagon Backend
89 ------------------------------
91 * ...
93 Changes to the MIPS Backend
94 ---------------------------
96 * ...
98 Changes to the PowerPC Backend
99 ------------------------------
101 * ...
103 Changes to the RISC-V Backend
104 -----------------------------
106 Changes to the WebAssembly Backend
107 ----------------------------------
109 * ...
111 Changes to the Windows Target
112 -----------------------------
114 * For MinGW, generate embedded ``-exclude-symbols:`` directives for symbols
115   with hidden visibility, omitting them from automatic export of all symbols.
116   This roughly makes hidden visibility work like it does for other object
117   file formats.
119 Changes to the X86 Backend
120 --------------------------
122 Changes to the OCaml bindings
123 -----------------------------
126 Changes to the C API
127 --------------------
129 Changes to the Go bindings
130 --------------------------
133 Changes to the FastISel infrastructure
134 --------------------------------------
136 * ...
138 Changes to the DAG infrastructure
139 ---------------------------------
142 Changes to the Metadata Info
143 ---------------------------------
145 * Add Module Flags Metadata ``stack-protector-guard-symbol`` which specify a
146   symbol for addressing the stack-protector guard.
148 Changes to the Debug Info
149 ---------------------------------
151 During this release ...
153 Changes to the LLVM tools
154 ---------------------------------
156 Changes to LLDB
157 ---------------------------------
159 Changes to Sanitizers
160 ---------------------
163 Other Changes
164 -------------
166 External Open Source Projects Using LLVM 15
167 ===========================================
169 * A project...
171 Additional Information
172 ======================
174 A wide variety of additional information is available on the `LLVM web page
175 <https://llvm.org/>`_, in particular in the `documentation
176 <https://llvm.org/docs/>`_ section.  The web page also contains versions of the
177 API documentation which is up-to-date with the Git version of the source
178 code.  You can access versions of these documents specific to this release by
179 going into the ``llvm/docs/`` directory in the LLVM tree.
181 If you have any questions or comments about LLVM, please feel free to contact
182 us via the `Discourse forums <https://discourse.llvm.org>`_.