forked from OSchip/llvm-project
[docs] Mention in release notes that we now support 2^32 alignment
Missed in D110451. Reviewed By: hans Differential Revision: https://reviews.llvm.org/D111472
This commit is contained in:
parent
337cf0a5ab
commit
b41cfbfcbb
|
@ -121,6 +121,7 @@ C Language Changes in Clang
|
|||
`P2362 <wg21.link/P2362>`_.
|
||||
- Support for ``__attribute__((error("")))`` and
|
||||
``__attribute__((warning("")))`` function attributes have been added.
|
||||
- The maximum allowed alignment has been increased from 2^29 to 2^32.
|
||||
|
||||
C++ Language Changes in Clang
|
||||
-----------------------------
|
||||
|
|
|
@ -709,7 +709,7 @@ to over-align the global if the global has an assigned section. In this
|
|||
case, the extra alignment could be observable: for example, code could
|
||||
assume that the globals are densely packed in their section and try to
|
||||
iterate over them as an array, alignment padding would break this
|
||||
iteration. The maximum alignment is ``1 << 29``.
|
||||
iteration. The maximum alignment is ``1 << 32``.
|
||||
|
||||
For global variables declarations, as well as definitions that may be
|
||||
replaced at link time (``linkonce``, ``weak``, ``extern_weak`` and ``common``
|
||||
|
@ -9736,7 +9736,7 @@ appropriate type to the program. If "NumElements" is specified, it is
|
|||
the number of elements allocated, otherwise "NumElements" is defaulted
|
||||
to be one. If a constant alignment is specified, the value result of the
|
||||
allocation is guaranteed to be aligned to at least that boundary. The
|
||||
alignment may not be greater than ``1 << 29``. If not specified, or if
|
||||
alignment may not be greater than ``1 << 32``. If not specified, or if
|
||||
zero, the target can choose to align the allocation on any convenient
|
||||
boundary compatible with the type.
|
||||
|
||||
|
@ -9826,7 +9826,7 @@ alignment for the target. It is the responsibility of the code emitter
|
|||
to ensure that the alignment information is correct. Overestimating the
|
||||
alignment results in undefined behavior. Underestimating the alignment
|
||||
may produce less efficient code. An alignment of 1 is always safe. The
|
||||
maximum possible alignment is ``1 << 29``. An alignment value higher
|
||||
maximum possible alignment is ``1 << 32``. An alignment value higher
|
||||
than the size of the loaded type implies memory up to the alignment
|
||||
value bytes can be safely loaded without trapping in the default
|
||||
address space. Access of the high bytes can interfere with debugging
|
||||
|
@ -9961,7 +9961,7 @@ alignment for the target. It is the responsibility of the code emitter
|
|||
to ensure that the alignment information is correct. Overestimating the
|
||||
alignment results in undefined behavior. Underestimating the
|
||||
alignment may produce less efficient code. An alignment of 1 is always
|
||||
safe. The maximum possible alignment is ``1 << 29``. An alignment
|
||||
safe. The maximum possible alignment is ``1 << 32``. An alignment
|
||||
value higher than the size of the stored type implies memory up to the
|
||||
alignment value bytes can be stored to without trapping in the default
|
||||
address space. Storing to the higher bytes however may result in data
|
||||
|
|
|
@ -60,6 +60,7 @@ Changes to the LLVM IR
|
|||
will be removed after LLVM 14. In the meantime, only minimal effort will be
|
||||
made to maintain the legacy pass manager for the optimization pipeline.
|
||||
* Max allowed integer type was reduced from 2^24-1 bits to 2^23 bits.
|
||||
* Max allowed alignment was increased from 2^29 to 2^32.
|
||||
|
||||
Changes to building LLVM
|
||||
------------------------
|
||||
|
|
Loading…
Reference in New Issue