1=========================
2LLVM 11.0.0 Release Notes
3=========================
4
5.. contents::
6    :local:
7
8.. warning::
9   These are in-progress notes for the upcoming LLVM 11 release.
10   Release notes for previous releases can be found on
11   `the Download Page <https://releases.llvm.org/download.html>`_.
12
13
14Introduction
15============
16
17This document contains the release notes for the LLVM Compiler Infrastructure,
18release 11.0.0.  Here we describe the status of LLVM, including major improvements
19from the previous release, improvements in various subprojects of LLVM, and
20some of the current users of the code.  All LLVM releases may be downloaded
21from the `LLVM releases web site <https://llvm.org/releases/>`_.
22
23For more information about LLVM, including information about the latest
24release, please check out the `main LLVM web site <https://llvm.org/>`_.  If you
25have questions or comments, the `LLVM Developer's Mailing List
26<https://lists.llvm.org/mailman/listinfo/llvm-dev>`_ is a good place to send
27them.
28
29Note that if you are reading this file from a Git checkout or the main
30LLVM web page, this document applies to the *next* release, not the current
31one.  To see the release notes for a specific release, please see the `releases
32page <https://llvm.org/releases/>`_.
33
34Non-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.
42
43* ...
44
45
46.. NOTE
47   If you would like to document a larger change, then you can add a
48   subsection about it right here. You can copy the following boilerplate
49   and un-indent it (the indentation causes it to be inside this comment).
50
51   Special New Feature
52   -------------------
53
54   Makes programs 10x faster by doing Special New Thing.
55
56
57Changes to the LLVM IR
58----------------------
59
60* The callsite attribute `vector-function-abi-variant
61  <https://llvm.org/docs/LangRef.html#call-site-attributes>`_ has been
62  added to describe the mapping between scalar functions and vector
63  functions, to enable vectorization of call sites. The information
64  provided by the attribute is interfaced via the API provided by the
65  ``VFDatabase`` class.
66
67Changes to building LLVM
68------------------------
69
70Changes to the ARM Backend
71--------------------------
72
73During this release ...
74
75* Implemented C-language intrinsics for the full Arm v8.1-M MVE instruction
76  set. ``<arm_mve.h>`` now supports the complete API defined in the Arm C
77  Language Extensions.
78
79Changes to the MIPS Target
80--------------------------
81
82During this release ...
83
84
85Changes to the PowerPC Target
86-----------------------------
87
88During this release ...
89
90Changes to the X86 Target
91-------------------------
92
93During this release ...
94
95
96* Functions with the probe-stack attribute set to "inline-asm" are now protected
97  against stack clash without the need of a third-party probing function and
98  with limited impact on performance.
99
100Changes to the AMDGPU Target
101-----------------------------
102
103* The backend default denormal handling mode has been switched to on
104  for all targets for all compute function types. Frontends wishing to
105  retain the old behavior should explicitly request f32 denormal
106  flushing.
107
108Changes to the AVR Target
109-----------------------------
110
111* Moved from an experimental backend to an official backend. AVR support is now
112  included by default in all LLVM builds and releases and is available under
113  the "avr-unknown-unknown" target triple.
114
115Changes to the WebAssembly Target
116---------------------------------
117
118During this release ...
119
120
121Changes to the OCaml bindings
122-----------------------------
123
124
125
126Changes to the C API
127--------------------
128
129
130Changes to the Go bindings
131--------------------------
132
133
134Changes to the DAG infrastructure
135---------------------------------
136
137Changes to LLDB
138===============
139
140External Open Source Projects Using LLVM 11
141===========================================
142
143* A project...
144
145
146Additional Information
147======================
148
149A wide variety of additional information is available on the `LLVM web page
150<https://llvm.org/>`_, in particular in the `documentation
151<https://llvm.org/docs/>`_ section.  The web page also contains versions of the
152API documentation which is up-to-date with the Git version of the source
153code.  You can access versions of these documents specific to this release by
154going into the ``llvm/docs/`` directory in the LLVM tree.
155
156If you have any questions or comments about LLVM, please feel free to contact
157us via the `mailing lists <https://llvm.org/docs/#mailing-lists>`_.
158