mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 20:23:11 +01:00
Bump the trunk major version to 11
and clear the release notes.
This commit is contained in:
parent
cbce8903bb
commit
54ef354524
@ -16,7 +16,7 @@ if(POLICY CMP0077)
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED LLVM_VERSION_MAJOR)
|
||||
set(LLVM_VERSION_MAJOR 10)
|
||||
set(LLVM_VERSION_MAJOR 11)
|
||||
endif()
|
||||
if(NOT DEFINED LLVM_VERSION_MINOR)
|
||||
set(LLVM_VERSION_MINOR 0)
|
||||
|
@ -1,12 +1,12 @@
|
||||
=========================
|
||||
LLVM 10.0.0 Release Notes
|
||||
LLVM 11.0.0 Release Notes
|
||||
=========================
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
|
||||
.. warning::
|
||||
These are in-progress notes for the upcoming LLVM 10 release.
|
||||
These are in-progress notes for the upcoming LLVM 11 release.
|
||||
Release notes for previous releases can be found on
|
||||
`the Download Page <https://releases.llvm.org/download.html>`_.
|
||||
|
||||
@ -15,7 +15,7 @@ Introduction
|
||||
============
|
||||
|
||||
This document contains the release notes for the LLVM Compiler Infrastructure,
|
||||
release 10.0.0. Here we describe the status of LLVM, including major improvements
|
||||
release 11.0.0. Here we describe the status of LLVM, including major improvements
|
||||
from the previous release, improvements in various subprojects of LLVM, and
|
||||
some of the current users of the code. All LLVM releases may be downloaded
|
||||
from the `LLVM releases web site <https://llvm.org/releases/>`_.
|
||||
@ -26,7 +26,7 @@ have questions or comments, the `LLVM Developer's Mailing List
|
||||
<https://lists.llvm.org/mailman/listinfo/llvm-dev>`_ is a good place to send
|
||||
them.
|
||||
|
||||
Note that if you are reading this file from a Subversion checkout or the main
|
||||
Note that if you are reading this file from a Git checkout or the main
|
||||
LLVM web page, this document applies to the *next* release, not the current
|
||||
one. To see the release notes for a specific release, please see the `releases
|
||||
page <https://llvm.org/releases/>`_.
|
||||
@ -40,26 +40,8 @@ Non-comprehensive list of changes in this release
|
||||
functionality, or simply have a lot to talk about), see the `NOTE` below
|
||||
for adding a new subsection.
|
||||
|
||||
* The ISD::FP_ROUND_INREG opcode and related code was removed from SelectionDAG.
|
||||
* Enabled MemorySSA as a loop dependency. Since
|
||||
`r370957 <https://reviews.llvm.org/rL370957>`_
|
||||
(`D58311 <https://reviews.llvm.org/D58311>`_ ``[MemorySSA & LoopPassManager]
|
||||
Enable MemorySSA as loop dependency. Update tests.``), the MemorySSA analysis
|
||||
is being preserved and used by a series of loop passes. The most significant
|
||||
use is in LICM, where the instruction hoisting and sinking relies on aliasing
|
||||
information provided by MemorySSA vs previously creating an AliasSetTracker.
|
||||
The LICM step of promoting variables to scalars still relies on the creation
|
||||
of an AliasSetTracker, but its use is reduced to only be enabled for loops
|
||||
with a small number of overall memory instructions. This choice was motivated
|
||||
by experimental results showing compile and run time benefits or replacing the
|
||||
AliasSetTracker usage with MemorySSA without any performance penalties.
|
||||
The fact that MemorySSA is now preserved by and available in a series of loop
|
||||
passes, also opens up opportunities for its use in those respective passes.
|
||||
* The BasicBlockPass, BBPassManager and all their uses were deleted in
|
||||
`this revision <https://reviews.llvm.org/rG9f0ff0b2634bab6a5be8dace005c9eb24d386dd1>`_.
|
||||
* ...
|
||||
|
||||
* The LLVM_BUILD_LLVM_DYLIB and LLVM_LINK_LLVM_DYLIB CMake options are no longer
|
||||
available on Windows.
|
||||
|
||||
.. NOTE
|
||||
If you would like to document a larger change, then you can add a
|
||||
@ -71,42 +53,10 @@ Non-comprehensive list of changes in this release
|
||||
|
||||
Makes programs 10x faster by doing Special New Thing.
|
||||
|
||||
* As per :ref:`LLVM Language Reference Manual <i_getelementptr>`,
|
||||
``getelementptr inbounds`` can not change the null status of a pointer,
|
||||
meaning it can not produce non-null pointer given null base pointer, and
|
||||
likewise given non-null base pointer it can not produce null pointer; if it
|
||||
does, the result is a :ref:`poison value <poisonvalues>`.
|
||||
Since `r369789 <https://reviews.llvm.org/rL369789>`_
|
||||
(`D66608 <https://reviews.llvm.org/D66608>`_ ``[InstCombine] icmp eq/ne (gep
|
||||
inbounds P, Idx..), null -> icmp eq/ne P, null``) LLVM uses that for
|
||||
transformations. If the original source violates these requirements this
|
||||
may result in code being miscompiled. If you are using Clang front-end,
|
||||
Undefined Behaviour Sanitizer ``-fsanitize=pointer-overflow`` check
|
||||
will now catch such cases.
|
||||
|
||||
|
||||
* Windows Control Flow Guard: the ``-cfguard`` option now emits CFG checks on
|
||||
indirect function calls. The previous behavior is still available with the
|
||||
``-cfguard-nochecks`` option. Note that this feature should always be used
|
||||
with optimizations enabled.
|
||||
|
||||
* ``Callbacks`` have been added to ``CommandLine Options``. These can
|
||||
be used to validate of selectively enable other options.
|
||||
|
||||
* The function attributes ``no-frame-pointer-elim`` and
|
||||
``no-frame-pointer-elim-non-leaf`` have been replaced by ``frame-pointer``,
|
||||
which has 3 values: ``none``, ``non-leaf``, and ``all``. The values mean what
|
||||
functions should retain frame pointers.
|
||||
|
||||
Changes to the LLVM IR
|
||||
----------------------
|
||||
|
||||
* Unnamed function arguments now get printed with their automatically
|
||||
generated name (e.g. "i32 %0") in definitions. This may require front-ends
|
||||
to update their tests; if so there is a script utils/add_argument_names.py
|
||||
that correctly converted 80-90% of Clang tests. Some manual work will almost
|
||||
certainly still be needed.
|
||||
|
||||
|
||||
Changes to building LLVM
|
||||
------------------------
|
||||
@ -114,44 +64,25 @@ Changes to building LLVM
|
||||
Changes to the ARM Backend
|
||||
--------------------------
|
||||
|
||||
During this release ...
|
||||
During this release ...
|
||||
|
||||
|
||||
Changes to the MIPS Target
|
||||
--------------------------
|
||||
|
||||
During this release ...
|
||||
During this release ...
|
||||
|
||||
|
||||
Changes to the PowerPC Target
|
||||
-----------------------------
|
||||
|
||||
During this release ...
|
||||
During this release ...
|
||||
|
||||
Changes to the X86 Target
|
||||
-------------------------
|
||||
|
||||
During this release ...
|
||||
During this release ...
|
||||
|
||||
* Less than 128 bit vector types, v2i32, v4i16, v2i16, v8i8, v4i8, and v2i8, are
|
||||
now stored in the lower bits of an xmm register and the upper bits are
|
||||
undefined. Previously the elements were spread apart with undefined bits in
|
||||
between them.
|
||||
* v32i8 and v64i8 vectors with AVX512F enabled, but AVX512BW disabled will now
|
||||
be passed in ZMM registers for calls and returns. Previously they were passed
|
||||
in two YMM registers. Old behavior can be enabled by passing
|
||||
-x86-enable-old-knl-abi
|
||||
* -mprefer-vector-width=256 is now the default behavior skylake-avx512 and later
|
||||
Intel CPUs. This tries to limit the use of 512-bit registers which can cause a
|
||||
decrease in CPU frequency on these CPUs. This can be re-enabled by passing
|
||||
-mprefer-vector-width=512 to clang or passing -mattr=-prefer-256-bit to llc.
|
||||
* Deprecated the mpx feature flag for the Intel MPX instructions. There were no
|
||||
intrinsics for this feature. This change only this effects the results
|
||||
returned by getHostCPUFeatures on CPUs that implement the MPX instructions.
|
||||
* The feature flag fast-partial-ymm-or-zmm-write which previously disabled
|
||||
vzeroupper insertion has been removed. It has been replaced with a vzeroupper
|
||||
feature flag which has the opposite polarity. So -vzeroupper has the same
|
||||
effect as +fast-partial-ymm-or-zmm-write.
|
||||
|
||||
Changes to the AMDGPU Target
|
||||
-----------------------------
|
||||
@ -159,12 +90,12 @@ Changes to the AMDGPU Target
|
||||
Changes to the AVR Target
|
||||
-----------------------------
|
||||
|
||||
During this release ...
|
||||
During this release ...
|
||||
|
||||
Changes to the WebAssembly Target
|
||||
---------------------------------
|
||||
|
||||
During this release ...
|
||||
During this release ...
|
||||
|
||||
|
||||
Changes to the OCaml bindings
|
||||
@ -174,16 +105,10 @@ Changes to the OCaml bindings
|
||||
|
||||
Changes to the C API
|
||||
--------------------
|
||||
* C DebugInfo API ``LLVMDIBuilderCreateTypedef`` is updated to include an extra
|
||||
argument ``AlignInBits``, to facilitate / propagate specified Alignment information
|
||||
present in a ``typedef`` to Debug information in LLVM IR.
|
||||
|
||||
|
||||
Changes to the Go bindings
|
||||
--------------------------
|
||||
* Go DebugInfo API ``CreateTypedef`` is updated to include an extra argument ``AlignInBits``,
|
||||
to facilitate / propagate specified Alignment information present in a ``typedef``
|
||||
to Debug information in LLVM IR.
|
||||
|
||||
|
||||
Changes to the DAG infrastructure
|
||||
@ -192,7 +117,7 @@ Changes to the DAG infrastructure
|
||||
Changes to LLDB
|
||||
===============
|
||||
|
||||
External Open Source Projects Using LLVM 10
|
||||
External Open Source Projects Using LLVM 11
|
||||
===========================================
|
||||
|
||||
* A project...
|
||||
@ -204,7 +129,7 @@ Additional Information
|
||||
A wide variety of additional information is available on the `LLVM web page
|
||||
<https://llvm.org/>`_, in particular in the `documentation
|
||||
<https://llvm.org/docs/>`_ section. The web page also contains versions of the
|
||||
API documentation which is up-to-date with the Subversion version of the source
|
||||
API documentation which is up-to-date with the Git version of the source
|
||||
code. You can access versions of these documents specific to this release by
|
||||
going into the ``llvm/docs/`` directory in the LLVM tree.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
llvm_version_major = 10
|
||||
llvm_version_major = 11
|
||||
llvm_version_minor = 0
|
||||
llvm_version_patch = 0
|
||||
llvm_version = "$llvm_version_major.$llvm_version_minor.$llvm_version_patch"
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
__author__ = 'Daniel Dunbar'
|
||||
__email__ = 'daniel@minormatter.com'
|
||||
__versioninfo__ = (0, 10, 0)
|
||||
__versioninfo__ = (0, 11, 0)
|
||||
__version__ = '.'.join(str(v) for v in __versioninfo__) + 'dev'
|
||||
|
||||
__all__ = []
|
||||
|
@ -27,8 +27,8 @@ set python64_dir=C:\Users\%USERNAME%\AppData\Local\Programs\Python\Python36
|
||||
for /f "usebackq" %%i in (`PowerShell ^(Get-Date^).ToString^('yyyyMMdd'^)`) do set datestamp=%%i
|
||||
|
||||
set revision=%1
|
||||
set package_version=10.0.0-%revision%
|
||||
set clang_format_vs_version=10.0.0.%datestamp%
|
||||
set package_version=11.0.0-%revision%
|
||||
set clang_format_vs_version=11.0.0.%datestamp%
|
||||
set build_dir=llvm_package_%revision%
|
||||
|
||||
echo Revision: %revision%
|
||||
|
Loading…
Reference in New Issue
Block a user