OSDN Git Service

Revert r363658 "[SVE][IR] Scalable Vector IR Type with pr42210 fix"
[android-x86/external-llvm.git] / docs / ReleaseNotes.rst
1 ========================
2 LLVM 9.0.0 Release Notes
3 ========================
4
5 .. contents::
6     :local:
7
8 .. warning::
9    These are in-progress notes for the upcoming LLVM 9 release.
10    Release notes for previous releases can be found on
11    `the Download Page <https://releases.llvm.org/download.html>`_.
12
13
14 Introduction
15 ============
16
17 This document contains the release notes for the LLVM Compiler Infrastructure,
18 release 9.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/>`_.
22
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.
28
29 Note that if you are reading this file from a Subversion 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/>`_.
33
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.
42
43 * The optimizer will now convert calls to ``memcmp`` into a calls to ``bcmp`` in
44   some circumstances. Users who are building freestanding code (not depending on
45   the platform's libc) without specifying ``-ffreestanding`` may need to either
46   pass ``-fno-builtin-bcmp``, or provide a ``bcmp`` function.
47
48 .. NOTE
49    If you would like to document a larger change, then you can add a
50    subsection about it right here. You can copy the following boilerplate
51    and un-indent it (the indentation causes it to be inside this comment).
52
53    Special New Feature
54    -------------------
55
56    Makes programs 10x faster by doing Special New Thing.
57
58 Changes to the LLVM IR
59 ----------------------
60
61 * Added ``immarg`` parameter attribute. This indicates an intrinsic
62   parameter is required to be a simple constant. This annotation must
63   be accurate to avoid possible miscompiles.
64
65 * The 2-field form of global variables ``@llvm.global_ctors`` and
66   ``@llvm.global_dtors`` has been deleted. The third field of their element
67   type is now mandatory. Specify `i8* null` to migrate from the obsoleted
68   2-field form.
69
70 * The ``byval`` attribute can now take a type parameter:
71   ``byval(<ty>)``. If present it must be identical to the argument's
72   pointee type. In the next release we intend to make this parameter
73   mandatory in preparation for opaque pointer types.
74
75 Changes to the ARM Backend
76 --------------------------
77
78  During this release ...
79
80
81 Changes to the MIPS Target
82 --------------------------
83
84  During this release ...
85
86
87 Changes to the PowerPC Target
88 -----------------------------
89
90  During this release ...
91
92 Changes to the X86 Target
93 -------------------------
94
95  During this release ...
96
97 Changes to the AMDGPU Target
98 -----------------------------
99
100  During this release ...
101
102 Changes to the AVR Target
103 -----------------------------
104
105  During this release ...
106
107 Changes to the WebAssembly Target
108 ---------------------------------
109
110  During this release ...
111
112
113 Changes to the OCaml bindings
114 -----------------------------
115
116
117
118 Changes to the C API
119 --------------------
120
121
122 Changes to the DAG infrastructure
123 ---------------------------------
124
125 External Open Source Projects Using LLVM 9
126 ==========================================
127
128 * A project...
129
130
131 Additional Information
132 ======================
133
134 A wide variety of additional information is available on the `LLVM web page
135 <https://llvm.org/>`_, in particular in the `documentation
136 <https://llvm.org/docs/>`_ section.  The web page also contains versions of the
137 API documentation which is up-to-date with the Subversion version of the source
138 code.  You can access versions of these documents specific to this release by
139 going into the ``llvm/docs/`` directory in the LLVM tree.
140
141 If you have any questions or comments about LLVM, please feel free to contact
142 us via the `mailing lists <https://llvm.org/docs/#mailing-lists>`_.