1
0
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:
Hans Wennborg 2020-01-15 10:02:56 +01:00
parent cbce8903bb
commit 54ef354524
5 changed files with 18 additions and 93 deletions

View File

@ -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)

View File

@ -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.

View File

@ -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"

View File

@ -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__ = []

View File

@ -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%