diff --git a/CMakeLists.txt b/CMakeLists.txt index 454ec561af9..40be7a85593 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,7 @@ cmake_minimum_required(VERSION 3.13.4) set(CMAKE_BUILD_WITH_INSTALL_NAME_DIR ON) if(NOT DEFINED LLVM_VERSION_MAJOR) - set(LLVM_VERSION_MAJOR 12) + set(LLVM_VERSION_MAJOR 13) endif() if(NOT DEFINED LLVM_VERSION_MINOR) set(LLVM_VERSION_MINOR 0) diff --git a/docs/ReleaseNotes.rst b/docs/ReleaseNotes.rst index de8431fe390..5def4485ba8 100644 --- a/docs/ReleaseNotes.rst +++ b/docs/ReleaseNotes.rst @@ -1,12 +1,12 @@ ========================= -LLVM 12.0.0 Release Notes +LLVM 13.0.0 Release Notes ========================= .. contents:: :local: .. warning:: - These are in-progress notes for the upcoming LLVM 12 release. + These are in-progress notes for the upcoming LLVM 13 release. Release notes for previous releases can be found on `the Download Page `_. @@ -15,7 +15,7 @@ Introduction ============ This document contains the release notes for the LLVM Compiler Infrastructure, -release 12.0.0. Here we describe the status of LLVM, including major improvements +release 13.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 `_. @@ -40,9 +40,6 @@ 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 ConstantPropagation pass was removed. Users should use the InstSimplify - pass instead. - .. NOTE If you would like to document a larger change, then you can add a @@ -60,38 +57,13 @@ Changes to the LLVM IR * ... -* Added the ``byref`` attribute to better represent argument passing - for the `amdgpu_kernel` calling convention. - -* Added type parameter to the ``sret`` attribute to continue work on - removing pointer element types. - -* The ``llvm.experimental.vector.reduce`` family of intrinsics have been renamed - to drop the "experimental" from the name, reflecting their now fully supported - status in the IR. - Changes to building LLVM ------------------------ -* The internal ``llvm-build`` Python script and the associated ``LLVMBuild.txt`` - files used to describe the LLVM component structure have been removed and - replaced by a pure ``CMake`` approach, where each component stores extra - properties in the created targets. These properties are processed once all - components are defined to resolve library dependencies and produce the header - expected by llvm-config. - Changes to TableGen ------------------- -* The new "TableGen Programmer's Reference" replaces the "TableGen Language - Introduction" and "TableGen Language Reference" documents. - -* The syntax for specifying an integer range in a range list has changed. - The old syntax used a hyphen in the range (e.g., ``{0-9}``). The new syntax - uses the "`...`" range punctuation (e.g., ``{0...9}``). The hyphen syntax - is deprecated. - Changes to the ARM Backend -------------------------- @@ -113,31 +85,11 @@ Changes to the X86 Target During this release ... -* The 'mpx' feature was removed from the backend. It had been removed from clang - frontend in 10.0. Mention of the 'mpx' feature in an IR file will print a - message to stderr, but IR should still compile. -* Support for ``-march=alderlake``, ``-march=sapphirerapids``, - ``-march=znver3`` and ``-march=x86-64-v[234]`` has been added. -* The assembler now has support for {disp32} and {disp8} pseudo prefixes for - controlling displacement size for memory operands and jump displacements. The - assembler also supports the .d32 and .d8 mnemonic suffixes to do the same. -* A new function attribute "tune-cpu" has been added to support -mtune like gcc. - This allows microarchitectural optimizations to be applied independent from - the "target-cpu" attribute or TargetMachine CPU which will be used to select - Instruction Set. If the attribute is not present, the tune CPU will follow - the target CPU. -* Support for ``HRESET`` instructions has been added. -* Support for ``UINTR`` instructions has been added. -* Support for ``AVXVNNI`` instructions has been added. - Changes to the AMDGPU Target ----------------------------- During this release ... -* The new ``byref`` attribute is now the preferred method for - representing aggregate kernel arguments. - Changes to the AVR Target ----------------------------- @@ -169,38 +121,16 @@ Changes to the Debug Info During this release ... -* The DIModule metadata is extended with a field to indicate if it is a - module declaration. This extension enables the emission of debug info - for a Fortran 'use ' statement. For more information - on what the debug info entries should look like and how the debugger - can use them, please see test/DebugInfo/X86/dimodule-external-fortran.ll. - Changes to the LLVM tools --------------------------------- -* llvm-readobj and llvm-readelf behavior has changed to report an error when - executed with no input files instead of reading an input from stdin. - Reading from stdin can still be achieved by specifying `-` as an input file. - -* llvm-mca supports serialization of the timeline and summary views. - The `--json` command line option prints a JSON representation of - these views to stdout. - Changes to LLDB --------------------------------- Changes to Sanitizers --------------------- -The integer sanitizer `-fsanitize=integer` now has a new sanitizer: -`-fsanitize=unsigned-shift-base`. It's not undefined behavior for an unsigned -left shift to overflow (i.e. to shift bits out), but it has been the source of -bugs and exploits in certain codebases in the past. - -Many Sanitizers (asan, cfi, lsan, msan, tsan, ubsan) have support for -musl-based Linux distributions. Some of them may be rudimentary. - -External Open Source Projects Using LLVM 12 +External Open Source Projects Using LLVM 13 =========================================== * A project... diff --git a/utils/gn/secondary/llvm/version.gni b/utils/gn/secondary/llvm/version.gni index a66a92550a0..39c995ffa8b 100644 --- a/utils/gn/secondary/llvm/version.gni +++ b/utils/gn/secondary/llvm/version.gni @@ -1,4 +1,4 @@ -llvm_version_major = 12 +llvm_version_major = 13 llvm_version_minor = 0 llvm_version_patch = 0 llvm_version = "$llvm_version_major.$llvm_version_minor.$llvm_version_patch" diff --git a/utils/lit/lit/__init__.py b/utils/lit/lit/__init__.py index 9c2aa512e17..c7d1fe97adf 100644 --- a/utils/lit/lit/__init__.py +++ b/utils/lit/lit/__init__.py @@ -2,7 +2,7 @@ __author__ = 'Daniel Dunbar' __email__ = 'daniel@minormatter.com' -__versioninfo__ = (12, 0, 0) +__versioninfo__ = (13, 0, 0) __version__ = '.'.join(str(v) for v in __versioninfo__) + 'dev' __all__ = [] diff --git a/utils/release/build_llvm_package.bat b/utils/release/build_llvm_package.bat index 35dcd9f613c..be207244c69 100755 --- a/utils/release/build_llvm_package.bat +++ b/utils/release/build_llvm_package.bat @@ -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=12.0.0-%revision:~0,8% -set clang_format_vs_version=12.0.0.%datestamp% +set package_version=13.0.0-%revision:~0,8% +set clang_format_vs_version=13.0.0.%datestamp% set build_dir=llvm_package_%revision:~0,8% echo Revision: %revision%