[sanitizer] Improve FreeBSD ASLR detection
[llvm-project.git] / llvm / docs / ReleaseNotes.rst
blob5825a6e81eb3495ca2e8005162b32bf8c11a70d6
1 =========================
2 LLVM 14.0.0 Release Notes
3 =========================
5 .. contents::
6     :local:
8 .. warning::
9    These are in-progress notes for the upcoming LLVM 14 release.
10    Release notes for previous releases can be found on
11    `the Download Page <https://releases.llvm.org/download.html>`_.
14 Introduction
15 ============
17 This document contains the release notes for the LLVM Compiler Infrastructure,
18 release 14.0.0.  Here we describe the status of LLVM, including major improvements
19 from the previous release, improvements in various subprojects of LLVM, and
20 some of the current users of the code.  All LLVM releases may be downloaded
21 from the `LLVM releases web site <https://llvm.org/releases/>`_.
23 For more information about LLVM, including information about the latest
24 release, please check out the `main LLVM web site <https://llvm.org/>`_.  If you
25 have questions or comments, the `LLVM Developer's Mailing List
26 <https://lists.llvm.org/mailman/listinfo/llvm-dev>`_ is a good place to send
27 them.
29 Note that if you are reading this file from a Git checkout or the main
30 LLVM web page, this document applies to the *next* release, not the current
31 one.  To see the release notes for a specific release, please see the `releases
32 page <https://llvm.org/releases/>`_.
34 Non-comprehensive list of changes in this release
35 =================================================
36 .. NOTE
37    For small 1-3 sentence descriptions, just add an entry at the end of
38    this list. If your description won't fit comfortably in one bullet
39    point (e.g. maybe you would like to give an example of the
40    functionality, or simply have a lot to talk about), see the `NOTE` below
41    for adding a new subsection.
44 .. NOTE
45    If you would like to document a larger change, then you can add a
46    subsection about it right here. You can copy the following boilerplate
47    and un-indent it (the indentation causes it to be inside this comment).
49    Special New Feature
50    -------------------
52    Makes programs 10x faster by doing Special New Thing.
54 * ...
56 Changes to the LLVM IR
57 ----------------------
59 * Using the legacy pass manager for the optimization pipeline is deprecated and
60   will be removed after LLVM 14. In the meantime, only minimal effort will be
61   made to maintain the legacy pass manager for the optimization pipeline.
62 * Max allowed integer type was reduced from 2^24-1 bits to 2^23 bits.
63 * Max allowed alignment was increased from 2^29 to 2^32.
65 Changes to building LLVM
66 ------------------------
68 * ...
70 Changes to TableGen
71 -------------------
73 Changes to the AArch64 Backend
74 ------------------------------
76 * Added support for the Armv9-A, Armv9.1-A and Armv9.2-A architectures.
77 * The compiler now recognises the "tune-cpu" function attribute to support
78   the use of the -mtune frontend flag. This allows certain scheduling features
79   and optimisations to be enabled independently of the architecture. If the
80   "tune-cpu" attribute is absent it tunes according to the "target-cpu".
82 Changes to the ARM Backend
83 --------------------------
85 * Added support for the Armv9-A, Armv9.1-A and Armv9.2-A architectures.
86 * Added support for the Armv8.1-M PACBTI-M extension.
88 Changes to the MIPS Target
89 --------------------------
91 During this release ...
93 Changes to the Hexagon Target
94 -----------------------------
96 * ...
98 Changes to the PowerPC Target
99 -----------------------------
101 During this release ...
103 Changes to the X86 Target
104 -------------------------
106 During this release ...
108 * Support for ``AVX512-FP16`` instructions has been added.
110 Changes to the AMDGPU Target
111 -----------------------------
113 During this release ...
115 Changes to the AVR Target
116 -----------------------------
118 During this release ...
120 Changes to the WebAssembly Target
121 ---------------------------------
123 During this release ...
125 Changes to the OCaml bindings
126 -----------------------------
129 Changes to the C API
130 --------------------
132 * ``LLVMSetInstDebugLocation`` has been deprecated in favor of the more general
133   ``LLVMAddMetadataToInst``.
135 Changes to the Go bindings
136 --------------------------
139 Changes to the FastISel infrastructure
140 --------------------------------------
142 * ...
144 Changes to the DAG infrastructure
145 ---------------------------------
148 Changes to the Debug Info
149 ---------------------------------
151 During this release ...
153 Changes to the LLVM tools
154 ---------------------------------
156 * llvm-cov: `-name-allowlist` is now accepted in addition to `-name-whitelist`.
157   `-name-whitelist` is marked as deprecated and to be removed in future
158   releases.
160 Changes to LLDB
161 ---------------------------------
163 * A change in Clang's type printing has changed the way LLDB names array types
164   (from ``int [N]`` to ``int[N]``) - LLDB pretty printer type name matching
165   code may need to be updated to handle this.
166 * The ``memory read`` command now ignores non-address bits in start and end
167   addresses. In addition, non-address bits will not be shown in the addresses
168   in the output.
170 Changes to Sanitizers
171 ---------------------
173 External Open Source Projects Using LLVM 14
174 ===========================================
176 * A project...
178 Additional Information
179 ======================
181 A wide variety of additional information is available on the `LLVM web page
182 <https://llvm.org/>`_, in particular in the `documentation
183 <https://llvm.org/docs/>`_ section.  The web page also contains versions of the
184 API documentation which is up-to-date with the Git version of the source
185 code.  You can access versions of these documents specific to this release by
186 going into the ``llvm/docs/`` directory in the LLVM tree.
188 If you have any questions or comments about LLVM, please feel free to contact
189 us via the `mailing lists <https://llvm.org/docs/#mailing-lists>`_.