diff --git a/clang-tools-extra/docs/ReleaseNotes.rst b/clang-tools-extra/docs/ReleaseNotes.rst
index b4d325c..afa685d 100644
--- a/clang-tools-extra/docs/ReleaseNotes.rst
+++ b/clang-tools-extra/docs/ReleaseNotes.rst
@@ -1,5 +1,5 @@
 ====================================================
-Extra Clang Tools 13.0.0 (In-Progress) Release Notes
+Extra Clang Tools 14.0.0 (In-Progress) Release Notes
 ====================================================
 
 .. contents::
@@ -10,7 +10,7 @@
 
 .. warning::
 
-   These are in-progress notes for the upcoming Extra Clang Tools 13 release.
+   These are in-progress notes for the upcoming Extra Clang Tools 14 release.
    Release notes for previous releases can be found on
    `the Download Page <https://releases.llvm.org/download.html>`_.
 
@@ -18,7 +18,7 @@
 ============
 
 This document contains the release notes for the Extra Clang Tools, part of the
-Clang release 13.0.0. Here we describe the status of the Extra Clang Tools in
+Clang release 14.0.0. Here we describe the status of the Extra Clang Tools in
 some detail, including major improvements from the previous release and new
 feature work. All LLVM releases may be downloaded from the `LLVM releases web
 site <https://llvm.org/releases/>`_.
@@ -32,7 +32,7 @@
 the current one. To see the release notes for a specific release, please
 see the `releases page <https://llvm.org/releases/>`_.
 
-What's New in Extra Clang Tools 13.0.0?
+What's New in Extra Clang Tools 14.0.0?
 =======================================
 
 Some of the major new features and improvements to Extra Clang Tools are listed
@@ -67,105 +67,20 @@
 Improvements to clang-tidy
 --------------------------
 
-- The `run-clang-tidy.py` helper script is now installed in `bin/` as
-  `run-clang-tidy`. It was previously installed in `share/clang/`.
-
-- Added command line option `--fix-notes` to apply fixes found in notes
-  attached to warnings. These are typically cases where we are less confident
-  the fix will have the desired effect.
-
-- libToolingCore and Clang-Tidy was refactored and now checks can produce
-  highlights (`^~~~~` under fragments of the source code) in diagnostics.
-  Existing and new checks in the future can be expected to start implementing
-  this functionality.
-  This change only affects the visual rendering of diagnostics, and does not
-  alter the behavior of generated fixes.
+The improvements are...
 
 New checks
 ^^^^^^^^^^
 
-- New :doc:`bugprone-implicit-widening-of-multiplication-result
-  <clang-tidy/checks/bugprone-implicit-widening-of-multiplication-result>` check.
-
-  Diagnoses instances of an implicit widening of multiplication result.
-
-- New :doc:`concurrency-thread-canceltype-asynchronous
-  <clang-tidy/checks/concurrency-thread-canceltype-asynchronous>` check.
-
-  Finds ``pthread_setcanceltype`` function calls where a thread's cancellation
-  type is set to asynchronous.
-
-- New :doc:`altera-id-dependent-backward-branch
-  <clang-tidy/checks/altera-id-dependent-backward-branch>` check.
-
-  Finds ID-dependent variables and fields that are used within loops. This
-  causes branches to occur inside the loops, and thus leads to performance
-  degradation.
-
-- New :doc:`altera-unroll-loops
-  <clang-tidy/checks/altera-unroll-loops>` check.
-
-  Finds inner loops that have not been unrolled, as well as fully unrolled
-  loops with unknown loops bounds or a large number of iterations.
-
-- New :doc:`bugprone-easily-swappable-parameters
-  <clang-tidy/checks/bugprone-easily-swappable-parameters>` check.
-
-  Finds function definitions where parameters of convertible types follow each
-  other directly, making call sites prone to calling the function with
-  swapped (or badly ordered) arguments.
-
-- New :doc:`cppcoreguidelines-prefer-member-initializer
-  <clang-tidy/checks/cppcoreguidelines-prefer-member-initializer>` check.
-
-  Finds member initializations in the constructor body which can be placed into
-  the initialization list instead.
-
-- New :doc:`bugprone-unhandled-exception-at-new
-  <clang-tidy/checks/bugprone-unhandled-exception-at-new>` check.
-
-  Finds calls to ``new`` with missing exception handler for ``std::bad_alloc``.
-
-- New `readability-suspicious-call-argument
-  <clang-tidy/checks/readability-suspicious-call-argument>`_ check
-
-  Finds function calls where the arguments passed are provided out of order,
-  based on the difference between the argument name and the parameter names
-  of the function.
-
 New check aliases
 ^^^^^^^^^^^^^^^^^
 
-- New alias :doc:`cert-pos47-c
-  <clang-tidy/checks/cert-pos47-c>` to
-  :doc:`concurrency-thread-canceltype-asynchronous
-  <clang-tidy/checks/concurrency-thread-canceltype-asynchronous>` was added.
-
-
 Changes in existing checks
 ^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-- Improved :doc:`bugprone-signal-handler
-  <clang-tidy/checks/bugprone-signal-handler>` check.
-
-  Added an option to choose the set of allowed functions.
-
-- Improved :doc:`readability-uniqueptr-delete-release
-  <clang-tidy/checks/readability-uniqueptr-delete-release>` check.
-
-  Added an option to choose whether to refactor by calling the ``reset`` member
-  function or assignment to ``nullptr``.
-  Added support for pointers to ``std::unique_ptr``.
-
 Removed checks
 ^^^^^^^^^^^^^^
 
-- The readability-deleted-default check has been removed.
-  
-  The clang warning `Wdefaulted-function-deleted
-  <https://clang.llvm.org/docs/DiagnosticsReference.html#wdefaulted-function-deleted>`_
-  will diagnose the same issues and is enabled by default.
-
 Improvements to include-fixer
 -----------------------------
 
diff --git a/clang-tools-extra/docs/conf.py b/clang-tools-extra/docs/conf.py
index be67b57..24dbcb1 100644
--- a/clang-tools-extra/docs/conf.py
+++ b/clang-tools-extra/docs/conf.py
@@ -49,9 +49,9 @@
 # built documents.
 #
 # The short version.
-version = '13'
+version = '14'
 # The full version, including alpha/beta/rc tags.
-release = '13'
+release = '14'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index a6f43bc..19a4e8f 100644
--- a/clang/docs/ReleaseNotes.rst
+++ b/clang/docs/ReleaseNotes.rst
@@ -1,5 +1,5 @@
 ========================================
-Clang 13.0.0 (In-Progress) Release Notes
+Clang 14.0.0 (In-Progress) Release Notes
 ========================================
 
 .. contents::
@@ -10,7 +10,7 @@
 
 .. warning::
 
-   These are in-progress notes for the upcoming Clang 13 release.
+   These are in-progress notes for the upcoming Clang 14 release.
    Release notes for previous releases can be found on
    `the Download Page <https://releases.llvm.org/download.html>`_.
 
@@ -18,7 +18,7 @@
 ============
 
 This document contains the release notes for the Clang C/C++/Objective-C
-frontend, part of the LLVM Compiler Infrastructure, release 13.0.0. Here we
+frontend, part of the LLVM Compiler Infrastructure, release 14.0.0. Here we
 describe the status of Clang in some detail, including major
 improvements from the previous release and new feature work. For the
 general LLVM release notes, see `the LLVM
@@ -35,7 +35,7 @@
 the current one. To see the release notes for a specific release, please
 see the `releases page <https://llvm.org/releases/>`_.
 
-What's New in Clang 13.0.0?
+What's New in Clang 14.0.0?
 ===========================
 
 Some of the major new features and improvements to Clang are listed
@@ -46,13 +46,7 @@
 Major New Features
 ------------------
 
-- Guaranteed tail calls are now supported with statement attributes
-  ``[[clang::musttail]]`` in C++ and ``__attribute__((musttail))`` in C. The
-  attribute is applied to a return statement (not a function declaration),
-  and an error is emitted if a tail call cannot be guaranteed, for example if
-  the function signatures of caller and callee are not compatible. Guaranteed
-  tail calls enable a class of algorithms that would otherwise use an
-  arbitrary amount of stack space.
+-  ...
 
 Improvements to Clang's diagnostics
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -62,22 +56,12 @@
 Non-comprehensive list of changes in this release
 -------------------------------------------------
 
-- The default value of _MSC_VER was raised from 1911 to 1914. MSVC 19.14 has the
-  support to overaligned objects on x86_32 which is required for some LLVM 
-  passes.
+- ...
 
 New Compiler Flags
 ------------------
 
-- ``-Wreserved-identifier`` emits warning when user code uses reserved
-  identifiers.
-
-- ``-fstack-usage`` generates an extra .su file per input source file. The .su
-  file contains frame size information for each function defined in the source
-  file.
-
-- ``-Wnull-pointer-subtraction`` emits warning when user code may have
-  undefined behaviour due to subtraction involving a null pointer.
+- ...
 
 Deprecated Compiler Flags
 -------------------------
@@ -87,25 +71,12 @@
 Modified Compiler Flags
 -----------------------
 
-- -Wshadow now also checks for shadowed structured bindings
-- ``-B <prefix>`` (when ``<prefix>`` is a directory) was overloaded to additionally
-  detect GCC installations under ``<prefix>`` (``lib{,32,64}/gcc{,-cross}/$triple``).
-  This behavior was incompatible with GCC, caused interop issues with
-  ``--gcc-toolchain``, and was thus dropped. Specify ``--gcc-toolchain=<dir>``
-  instead. ``-B``'s other GCC-compatible semantics are preserved:
-  ``$prefix/$triple-$file`` and ``$prefix$file`` are searched for executables,
-  libraries, includes, and data files used by the compiler.
-- ``-Wextra`` now also implies ``-Wnull-pointer-subtraction.``
+- ...
 
 Removed Compiler Flags
 -------------------------
 
-- The clang-cl ``/fallback`` flag, which made clang-cl invoke Microsoft Visual
-  C++ on files it couldn't compile itself, has been removed.
-
-- ``-Wreturn-std-move-in-c++11``, which checked whether an entity is affected by
-  `CWG1579 <https://wg21.link/CWG1579>`_ to become implicitly movable, has been
-  removed.
+- ...
 
 New Pragmas in Clang
 --------------------
@@ -117,9 +88,6 @@
 
 - ...
 
-- Added support for C++11-style ``[[]]`` attributes on using-declarations, as a
-  clang extension.
-
 Windows Support
 ---------------
 
@@ -131,9 +99,6 @@
 C++ Language Changes in Clang
 -----------------------------
 
-- The oldest supported GNU libstdc++ is now 4.8.3 (released 2014-05-22).
-  Clang workarounds for bugs in earlier versions have been removed.
-
 - ...
 
 C++20 Feature Support
@@ -173,22 +138,11 @@
 Internal API Changes
 --------------------
 
-These are major API changes that have happened since the 12.0.0 release of
-Clang. If upgrading an external codebase that uses Clang as a library,
-this section should help get you past the largest hurdles of upgrading.
-
 - ...
 
 Build System Changes
 --------------------
 
-These are major changes to the build system that have happened since the 12.0.0
-release of Clang. Users of the build system should adjust accordingly.
-
-- The option ``LIBCLANG_INCLUDE_CLANG_TOOLS_EXTRA`` no longer exists. There were
-  two releases with that flag forced off, and no uses were added that forced it
-  on. The recommended replacement is clangd.
-
 - ...
 
 AST Matchers
@@ -199,90 +153,7 @@
 clang-format
 ------------
 
-- Option ``SpacesInLineCommentPrefix`` has been added to control the
-  number of spaces in a line comments prefix.
-
-- Option ``SortIncludes`` has been updated from a ``bool`` to an
-  ``enum`` with backwards compatibility. In addition to the previous
-  ``true``/``false`` states (now ``CaseSensitive``/``Never``), a third
-  state has been added (``CaseInsensitive``) which causes an alphabetical sort
-  with case used as a tie-breaker.
-
-  .. code-block:: c++
-
-    // Never (previously false)
-    #include "B/A.h"
-    #include "A/B.h"
-    #include "a/b.h"
-    #include "A/b.h"
-    #include "B/a.h"
-
-    // CaseSensitive (previously true)
-    #include "A/B.h"
-    #include "A/b.h"
-    #include "B/A.h"
-    #include "B/a.h"
-    #include "a/b.h"
-
-    // CaseInsensitive
-    #include "A/B.h"
-    #include "A/b.h"
-    #include "a/b.h"
-    #include "B/A.h"
-    #include "B/a.h"
-
-- ``BasedOnStyle: InheritParentConfig`` allows to use the ``.clang-format`` of
-  the parent directories to overwrite only parts of it.
-
-- Option ``IndentAccessModifiers`` has been added to be able to give access
-  modifiers their own indentation level inside records.
-
-- Option ``PPIndentWidth`` has been added to be able to configure pre-processor
-  indentation independent from regular code.
-
-- Option ``ShortNamespaceLines`` has been added to give better control
-  over ``FixNamespaceComments`` when determining a namespace length.
-
-- Support for Whitesmiths has been improved, with fixes for ``namespace`` blocks
-  and ``case`` blocks and labels.
-
-- Option ``EmptyLineAfterAccessModifier`` has been added to remove, force or keep
-  new lines after access modifiers.
-
-- Checks for newlines in option ``EmptyLineBeforeAccessModifier`` are now based
-  on the formatted new lines and not on the new lines in the file. (Fixes
-  https://llvm.org/PR41870.)
-
-- Option ``SpacesInAngles`` has been improved, it now accepts ``Leave`` value
-  that allows to keep spaces where they are already present.
-
-- Option ``AllowShortIfStatementsOnASingleLine`` has been improved, it now
-  accepts ``AllIfsAndElse`` value that allows to put "else if" and "else" short
-  statements on a single line. (Fixes https://llvm.org/PR50019.)
-
-- Option ``BreakInheritanceList`` gets a new style, ``AfterComma``. It breaks
-  only after the commas that separate the base-specifiers.
-
-- Option ``LambdaBodyIndentation`` has been added to control how the body of a
-  lambda is indented. The default ``Signature`` value indents the body one level
-  relative to whatever indentation the signature has. ``OuterScope`` lets you
-  change that so that the lambda body is indented one level relative to the scope
-  containing the lambda, regardless of where the lambda signature was placed.
-
-- Option ``IfMacros`` has been added. This lets you define macros that get
-  formatted like conditionals much like ``ForEachMacros`` get styled like
-  foreach loops.
-
-- ``git-clang-format`` no longer formats changes to symbolic links. (Fixes
-  https://llvm.org/PR46992.)
-
-- Makes ``PointerAligment: Right`` working with ``AlignConsecutiveDeclarations``.
-  (Fixes https://llvm.org/PR27353)
-
-- Option ``AlignArrayOfStructure`` has been added to allow for ordering array-like
-  initializers.
-
-- Support for formatting JSON file (\*.json) has been added to clang-format.
+- ...
 
 libclang
 --------
diff --git a/clang/docs/analyzer/conf.py b/clang/docs/analyzer/conf.py
index 1742a7f..9be2c2a 100644
--- a/clang/docs/analyzer/conf.py
+++ b/clang/docs/analyzer/conf.py
@@ -49,9 +49,9 @@
 # built documents.
 #
 # The short version.
-version = '13'
+version = '14'
 # The full version, including alpha/beta/rc tags.
-release = '13'
+release = '14'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff --git a/libcxx/CMakeLists.txt b/libcxx/CMakeLists.txt
index b1e2535..93827cf 100644
--- a/libcxx/CMakeLists.txt
+++ b/libcxx/CMakeLists.txt
@@ -27,7 +27,7 @@
   project(libcxx CXX C)
 
   set(PACKAGE_NAME libcxx)
-  set(PACKAGE_VERSION 13.0.0git)
+  set(PACKAGE_VERSION 14.0.0git)
   set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
   set(PACKAGE_BUGREPORT "llvm-bugs@lists.llvm.org")
 
diff --git a/libcxx/docs/ReleaseNotes.rst b/libcxx/docs/ReleaseNotes.rst
index 7687414..a70f012 100644
--- a/libcxx/docs/ReleaseNotes.rst
+++ b/libcxx/docs/ReleaseNotes.rst
@@ -1,5 +1,5 @@
 =========================================
-Libc++ 13.0.0 (In-Progress) Release Notes
+Libc++ 14.0.0 (In-Progress) Release Notes
 =========================================
 
 .. contents::
@@ -10,7 +10,7 @@
 
 .. warning::
 
-   These are in-progress notes for the upcoming libc++ 13 release.
+   These are in-progress notes for the upcoming libc++ 14 release.
    Release notes for previous releases can be found on
    `the Download Page <https://releases.llvm.org/download.html>`_.
 
@@ -18,7 +18,7 @@
 ============
 
 This document contains the release notes for the libc++ C++ Standard Library,
-part of the LLVM Compiler Infrastructure, release 13.0.0. Here we describe the
+part of the LLVM Compiler Infrastructure, release 14.0.0. Here we describe the
 status of libc++ in some detail, including major improvements from the previous
 release and new feature work. For the general LLVM release notes, see `the LLVM
 documentation <https://llvm.org/docs/ReleaseNotes.html>`_. All LLVM releases may
@@ -32,7 +32,7 @@
 the current one. To see the release notes for a specific release, please
 see the `releases page <https://llvm.org/releases/>`_.
 
-What's New in Libc++ 13.0.0?
+What's New in Libc++ 14.0.0?
 ============================
 
 New Features
@@ -43,31 +43,4 @@
 API Changes
 -----------
 
-- There has been several changes in the tuple constructors provided by libc++.
-  Those changes were made as part of an effort to regularize libc++'s tuple
-  implementation, which contained several subtle bugs due to these extensions.
-  If you notice a build breakage when initializing a tuple, make sure you
-  properly initialize all the tuple elements - this is probably the culprit.
-
-  In particular, the extension allowing tuples to be constructed from fewer
-  elements than the number of elements in the tuple (in which case the remaining
-  elements would be default-constructed) has been removed. See https://godbolt.org/z/sqozjd.
-
-  Also, the extension allowing a tuple to be constructed from an array has been
-  removed. See https://godbolt.org/z/5esqbW.
-
-- The ``std::pointer_safety`` utility and related functions are not available
-  in C++03 anymore. Furthermore, in other standard modes, it has changed from
-  a struct to a scoped enumeration, which is an ABI break. Finally, the
-  ``std::get_pointer_safety`` function was previously in the dylib, but it
-  is now defined as inline in the headers.
-
-  While this is technically both an API and an ABI break, we do not expect
-  ``std::pointer_safety`` to have been used at all in real code, since we
-  never implemented the underlying support for garbage collection.
-
-- The `LIBCXXABI_ENABLE_PIC` CMake option was removed. If you are building your
-  own libc++abi from source and were using `LIBCXXABI_ENABLE_PIC`, please use
-  `CMAKE_POSITION_INDEPENDENT_CODE=ON` instead.
-
-- When the header <variant> is included, it will no longer include <array> transitively.
+- ...
diff --git a/libcxx/docs/conf.py b/libcxx/docs/conf.py
index f3c904c..6b0aad6 100644
--- a/libcxx/docs/conf.py
+++ b/libcxx/docs/conf.py
@@ -48,9 +48,9 @@
 # built documents.
 #
 # The short X.Y version.
-version = '13.0'
+version = '14.0'
 # The full version, including alpha/beta/rc tags.
-release = '13.0'
+release = '14.0'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff --git a/libcxx/include/__config b/libcxx/include/__config
index 3cf2369..5997420 100644
--- a/libcxx/include/__config
+++ b/libcxx/include/__config
@@ -34,7 +34,7 @@
 #  define _GNUC_VER_NEW 0
 #endif
 
-#define _LIBCPP_VERSION 13000
+#define _LIBCPP_VERSION 14000
 
 #ifndef _LIBCPP_ABI_VERSION
 #  define _LIBCPP_ABI_VERSION 1
diff --git a/libunwind/CMakeLists.txt b/libunwind/CMakeLists.txt
index 81eddbc..b1ef11b 100644
--- a/libunwind/CMakeLists.txt
+++ b/libunwind/CMakeLists.txt
@@ -24,7 +24,7 @@
   project(libunwind LANGUAGES C CXX ASM)
 
   set(PACKAGE_NAME libunwind)
-  set(PACKAGE_VERSION 13.0.0git)
+  set(PACKAGE_VERSION 14.0.0git)
   set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
   set(PACKAGE_BUGREPORT "llvm-bugs@lists.llvm.org")
 
diff --git a/libunwind/docs/conf.py b/libunwind/docs/conf.py
index 07ffba7..bc91d90 100644
--- a/libunwind/docs/conf.py
+++ b/libunwind/docs/conf.py
@@ -48,9 +48,9 @@
 # built documents.
 #
 # The short X.Y version.
-version = '13.0'
+version = '14.0'
 # The full version, including alpha/beta/rc tags.
-release = '13.0'
+release = '14.0'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff --git a/lld/docs/ReleaseNotes.rst b/lld/docs/ReleaseNotes.rst
index 40439c9..442681c 100644
--- a/lld/docs/ReleaseNotes.rst
+++ b/lld/docs/ReleaseNotes.rst
@@ -1,19 +1,19 @@
 ========================
-lld 13.0.0 Release Notes
+lld 14.0.0 Release Notes
 ========================
 
 .. contents::
     :local:
 
 .. warning::
-   These are in-progress notes for the upcoming LLVM 13.0.0 release.
+   These are in-progress notes for the upcoming LLVM 14.0.0 release.
    Release notes for previous releases can be found on
    `the Download Page <https://releases.llvm.org/download.html>`_.
 
 Introduction
 ============
 
-This document contains the release notes for the lld linker, release 13.0.0.
+This document contains the release notes for the lld linker, release 14.0.0.
 Here we describe the status of lld, including major improvements
 from the previous release. All lld releases may be downloaded
 from the `LLVM releases web site <https://llvm.org/releases/>`_.
@@ -24,18 +24,12 @@
 ELF Improvements
 ----------------
 
-* ``-Bsymbolic -Bsymbolic-functions`` has been changed to behave the same as ``-Bsymbolic-functions``. This matches GNU ld.
-  (`D102461 <https://reviews.llvm.org/D102461>`_)
-* ``-Bno-symbolic`` has been added.
-  (`D102461 <https://reviews.llvm.org/D102461>`_)
-* A new linker script command ``OVERWRITE_SECTIONS`` has been added.
-  (`D103303 <https://reviews.llvm.org/D103303>`_)
+* ...
 
 Breaking changes
 ----------------
 
-* ``--shuffle-sections=<seed>`` has been changed to ``--shuffle-sections=<section-glob>=<seed>``.
-  Specify ``*`` as ``<section-glob>`` to get the previous behavior.
+* ...
 
 COFF Improvements
 -----------------
diff --git a/lld/docs/conf.py b/lld/docs/conf.py
index 2df1aa7..8d0fec7 100644
--- a/lld/docs/conf.py
+++ b/lld/docs/conf.py
@@ -48,9 +48,9 @@
 # built documents.
 #
 # The short version.
-version = '13'
+version = '14'
 # The full version, including alpha/beta/rc tags.
-release = '13'
+release = '14'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt
index 68cd2de..d2cc48f 100644
--- a/llvm/CMakeLists.txt
+++ b/llvm/CMakeLists.txt
@@ -11,7 +11,7 @@
 set(CMAKE_BUILD_WITH_INSTALL_NAME_DIR ON)
 
 if(NOT DEFINED LLVM_VERSION_MAJOR)
-  set(LLVM_VERSION_MAJOR 13)
+  set(LLVM_VERSION_MAJOR 14)
 endif()
 if(NOT DEFINED LLVM_VERSION_MINOR)
   set(LLVM_VERSION_MINOR 0)
diff --git a/llvm/docs/ReleaseNotes.rst b/llvm/docs/ReleaseNotes.rst
index ddcdb32..4a2a67a 100644
--- a/llvm/docs/ReleaseNotes.rst
+++ b/llvm/docs/ReleaseNotes.rst
@@ -1,12 +1,12 @@
 =========================
-LLVM 13.0.0 Release Notes
+LLVM 14.0.0 Release Notes
 =========================
 
 .. contents::
     :local:
 
 .. warning::
-   These are in-progress notes for the upcoming LLVM 13 release.
+   These are in-progress notes for the upcoming LLVM 14 release.
    Release notes for previous releases can be found on
    `the Download Page <https://releases.llvm.org/download.html>`_.
 
@@ -15,7 +15,7 @@
 ============
 
 This document contains the release notes for the LLVM Compiler Infrastructure,
-release 13.0.0.  Here we describe the status of LLVM, including major improvements
+release 14.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/>`_.
@@ -51,25 +51,17 @@
 
    Makes programs 10x faster by doing Special New Thing.
 
-* Windows Control-flow Enforcement Technology: the ``-ehcontguard`` option now
-  emits valid unwind entrypoints which are validated when the context is being
-  set during exception handling.
+* ...
 
 Changes to the LLVM IR
 ----------------------
 
-* The ``inalloca`` attribute now has a mandatory type field, similar
-  to ``byval`` and ``sret``.
-
-* The opaque pointer type ``ptr`` has been introduced. It is still in the
-  process of being worked on and should not be used yet.
+* ...
 
 Changes to building LLVM
 ------------------------
 
-* The build system now supports building multiple distributions, so that you can
-  e.g. have one distribution containing just tools and another for libraries (to
-  enable development). See :ref:`Multi-distribution configurations` for details.
+* ...
 
 Changes to TableGen
 -------------------
@@ -77,7 +69,7 @@
 Changes to the AArch64 Backend
 ------------------------------
 
-* Introduced support for Armv9-A's Realm Management Extension.
+* ...
 
 Changes to the ARM Backend
 --------------------------
@@ -92,7 +84,7 @@
 Changes to the Hexagon Target
 -----------------------------
 
-* The Hexagon target now supports V68/HVX ISA.
+* ...
 
 Changes to the PowerPC Target
 -----------------------------
@@ -126,71 +118,7 @@
 Changes to the C API
 --------------------
 
-* The C API functions ``LLVMGetAlignment`` and ``LLVMSetAlignment`` now allow
-  changing alignment on atomicrmw and cmpxchg instructions
-
-* A new entry ``LLVMDIArgListMetadataKind`` was added to the
-  ``LLVMMetadataKind`` enum, representing DIArgLists
-  (`D88175 <https://reviews.llvm.org/D88175>`_)
-
-* Type attributes have been added to LLVM-C, introducing
-  LLVMCreateTypeAttribute, LLVMGetTypeAttributeValue and LLVMIsTypeAttribute.
-  (`D977763' <https://reviews.llvm.org/D97763>`_)
-
-* The ``LTO_API_VERSION`` was bumped to 28, introducing a new function
-  ``lto_set_debug_options`` for parsing LTO debug options
-  (`D92611 <https://reviews.llvm.org/D92611>`_)
-
-* ``LLVMJITTargetSymbolFlags`` was renamed to ``LLVMJITSymbolTargetFlags``
-  (`rG8d718a0bff73af066675a6258c01307937c33cf9
-  <https://reviews.llvm.org/rG8d718a0bff73af066675a6258c01307937c33cf9>`_)
-
-* The C API received support for creating custom ORCv2 MaterializationUnits and
-  APIs to retrieve an LLJIT instance's linking layers. An ABI breaking change
-  for ``LLVMOrcAbsoluteSymbols`` was introduced to make it consistent with
-  ``LLVMOrcCreateCustomMaterializationUnit``.
-  (`rGc8fc5e3ba942057d6c4cdcd1faeae69a28e7b671
-  <https://reviews.llvm.org/rGc8fc5e3ba942057d6c4cdcd1faeae69a28e7b671>`_)
-
-* The C API received support for adding ORCv2 object buffers directly to an object
-  layer. (`rG7b73cd684a8d5fb44d34064200f10e2723085c33
-  <https://reviews.llvm.org/rG7b73cd684a8d5fb44d34064200f10e2723085c33>`_)
-
-* A breaking change to ``LLVMGetInlineAsm`` was introduced, adding a ninth
-  argument ``LLVMBool CanThrow`` (`D95745 <https://reviews.llvm.org/D95745>`_)
-
-* The C API received support for calling into the new pass manager.
-  (`D102136 <https://reviews.llvm.org/D102136>`_)
-
-* The C API function ``LLVMIntrinsicCopyOverloadedName`` has been deprecated.
-  Please migrate to ``LLVMIntrinsicCopyOverloadedName2`` which takes an extra
-  module argument and which also handles unnamed types.
-  (`D99173 <https://reviews.llvm.org/D99173>`_)
-
-* The C API received support for dumping objects from ORCv2
-  (`rGcec8e69f01c3374cb38c6683058381b96fab8f89
-  <https://reviews.llvm.org/rGcec8e69f01c3374cb38c6683058381b96fab8f89>`_)
-
-* A breaking change to ``LLVMOrcObjectTransformLayerTransformFunction`` was
-  introduced, changing the order of the function pointer's arguments.
-  (`rG8962c68ad007a525f9daa987c99eda57e0d0069a
-  <https://reviews.llvm.org/rG8962c68ad007a525f9daa987c99eda57e0d0069a>`_)
-
-* The C API received support for accessing utilities from the LLJIT
-  ``IRTransformLayer`` and ``ThreadSafeModule`` classes. (`D103855
-  <https://reviews.llvm.org/D103855>`_)
-
-* The C API received support for creating lazy-export MaterializationUnits
-  (`D104672 <https://reviews.llvm.org/D104672>`_)
-
-* The C API function ``LLVMPassBuilderOptionsSetCoroutines`` was removed because
-  couroutine passes have been enabled by default. (`D105877
-  <https://reviews.llvm.org/D105877>`_)
-
-* ``comdat noduplicates`` was renamed to ``comdat nodeduplicate`` and as a
-  result, ``LLVMNoDuplicatesComdatSelectionKind`` was renamed to
-  ``LLVMNoDeduplicateComdatSelectionKind``. (`D106319
-  <https://reviews.llvm.org/D106319>`_)
+* ...
 
 Changes to the Go bindings
 --------------------------
@@ -199,9 +127,7 @@
 Changes to the FastISel infrastructure
 --------------------------------------
 
-* FastISel no longer tracks killed registers, and instead leaves this to the
-  register allocator. This means that ``hasTrivialKill()`` is removed, as well
-  as the ``OpNIsKill`` parameters to the ``fastEmit_*()`` family of functions.
+* ...
 
 Changes to the DAG infrastructure
 ---------------------------------
@@ -215,30 +141,7 @@
 Changes to the LLVM tools
 ---------------------------------
 
-* The options ``--build-id-link-{dir,input,output}`` have been deleted.
-  (`D96310 <https://reviews.llvm.org/D96310>`_)
-
-* Support for in-order processors has been added to ``llvm-mca``.
-  (`D94928 <https://reviews.llvm.org/D94928>`_)
-
-* llvm-objdump supports ``-M {att,intel}`` now.
-  ``--x86-asm-syntax`` is a deprecated internal option which will be removed in LLVM 14.0.0.
-  (`D101695 <https://reviews.llvm.org/D101695>`_)
-
-* The llvm-readobj short aliases ``-s`` (previously ``--sections``) and ``-t``
-  (previously ``--syms``) have been changed to ``--syms`` and
-  ``--section-details`` respectively, to match llvm-readelf.
-  (`D105055 <https://reviews.llvm.org/D105055>`_)
-
-* The llvm-nm short aliases ``-M`` (``--print-armap``), ``-U``
-  (``--defined-only``), and ``-W`` (``--no-weak``) are now deprecated.
-  Use the long form versions instead.
-  The alias ``--just-symbol-name`` is now deprecated in favor of
-  ``--format=just-symbols`` and ``-j``.
-  (`D105330 <https://reviews.llvm.org/D105330>`_)
-
-* In lli the default JIT engine switched from MCJIT (``-jit-kind=mcjit``) to ORC (``-jit-kind=orc``).
-  (`D98931 <https://reviews.llvm.org/D98931>`_)
+* ...
 
 Changes to LLDB
 ---------------------------------
@@ -246,7 +149,7 @@
 Changes to Sanitizers
 ---------------------
 
-External Open Source Projects Using LLVM 13
+External Open Source Projects Using LLVM 14
 ===========================================
 
 * A project...
diff --git a/llvm/utils/gn/secondary/llvm/version.gni b/llvm/utils/gn/secondary/llvm/version.gni
index 39c995f..458db94 100644
--- a/llvm/utils/gn/secondary/llvm/version.gni
+++ b/llvm/utils/gn/secondary/llvm/version.gni
@@ -1,4 +1,4 @@
-llvm_version_major = 13
+llvm_version_major = 14
 llvm_version_minor = 0
 llvm_version_patch = 0
 llvm_version = "$llvm_version_major.$llvm_version_minor.$llvm_version_patch"
diff --git a/llvm/utils/lit/lit/__init__.py b/llvm/utils/lit/lit/__init__.py
index c7d1fe9..570cd74 100644
--- a/llvm/utils/lit/lit/__init__.py
+++ b/llvm/utils/lit/lit/__init__.py
@@ -2,7 +2,7 @@
 
 __author__ = 'Daniel Dunbar'
 __email__ = 'daniel@minormatter.com'
-__versioninfo__ = (13, 0, 0)
+__versioninfo__ = (14, 0, 0)
 __version__ = '.'.join(str(v) for v in __versioninfo__) + 'dev'
 
 __all__ = []
diff --git a/llvm/utils/release/build_llvm_package.bat b/llvm/utils/release/build_llvm_package.bat
index be20724..4c3f48e 100755
--- a/llvm/utils/release/build_llvm_package.bat
+++ b/llvm/utils/release/build_llvm_package.bat
@@ -27,8 +27,8 @@
 for /f "usebackq" %%i in (`PowerShell ^(Get-Date^).ToString^('yyyyMMdd'^)`) do set datestamp=%%i
 
 set revision=%1
-set package_version=13.0.0-%revision:~0,8%
-set clang_format_vs_version=13.0.0.%datestamp%
+set package_version=14.0.0-%revision:~0,8%
+set clang_format_vs_version=14.0.0.%datestamp%
 set build_dir=llvm_package_%revision:~0,8%
 
 echo Revision: %revision%
diff --git a/polly/docs/ReleaseNotes.rst b/polly/docs/ReleaseNotes.rst
index f6176fe..1dbbc11 100644
--- a/polly/docs/ReleaseNotes.rst
+++ b/polly/docs/ReleaseNotes.rst
@@ -1,8 +1,8 @@
 =============================
-Release Notes 13.0 (upcoming)
+Release Notes 14.0 (upcoming)
 =============================
 
-In Polly 13 the following important changes have been incorporated.
+In Polly 14 the following important changes have been incorporated.
 
 .. warning::
 
diff --git a/polly/docs/conf.py b/polly/docs/conf.py
index 44bb82a..cf757f12 100644
--- a/polly/docs/conf.py
+++ b/polly/docs/conf.py
@@ -49,9 +49,9 @@
 # built documents.
 #
 # The short X.Y version.
-version = '13.0-devel'
+version = '14.0-devel'
 # The full version, including alpha/beta/rc tags.
-release = '13.0-devel'
+release = '14.0-devel'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff --git a/pstl/docs/ReleaseNotes.rst b/pstl/docs/ReleaseNotes.rst
index f4a15b1..ca840a4 100644
--- a/pstl/docs/ReleaseNotes.rst
+++ b/pstl/docs/ReleaseNotes.rst
@@ -1,5 +1,5 @@
 =======================================
-PSTL 13.0.0 (In-Progress) Release Notes
+PSTL 14.0.0 (In-Progress) Release Notes
 =======================================
 
 .. contents::
@@ -10,7 +10,7 @@
 
 .. warning::
 
-   These are in-progress notes for the upcoming pstl 13 release.
+   These are in-progress notes for the upcoming pstl 14 release.
    Release notes for previous releases can be found on
    `the Download Page <https://releases.llvm.org/download.html>`_.
 
@@ -18,7 +18,7 @@
 ============
 
 This document contains the release notes for the PSTL parallel algorithms
-library, part of the LLVM Compiler Infrastructure, release 13.0.0. Here we
+library, part of the LLVM Compiler Infrastructure, release 14.0.0. Here we
 describe the status of the library in some detail, including major improvements
 from the previous release and new feature work. For the general LLVM release
 notes, see `the LLVM documentation <https://llvm.org/docs/ReleaseNotes.html>`_.
@@ -30,7 +30,7 @@
 To see the release notes for a specific release, please see the `releases
 page <https://llvm.org/releases/>`_.
 
-What's New in PSTL 13.0.0?
+What's New in PSTL 14.0.0?
 ==========================
 
 New Features
diff --git a/pstl/include/pstl/internal/pstl_config.h b/pstl/include/pstl/internal/pstl_config.h
index 2c68d28..0616332 100644
--- a/pstl/include/pstl/internal/pstl_config.h
+++ b/pstl/include/pstl/internal/pstl_config.h
@@ -13,7 +13,7 @@
 #include <__pstl_config_site>
 
 // The version is XYYZ, where X is major, YY is minor, and Z is patch (i.e. X.YY.Z)
-#define _PSTL_VERSION 13000
+#define _PSTL_VERSION 14000
 #define _PSTL_VERSION_MAJOR (_PSTL_VERSION / 1000)
 #define _PSTL_VERSION_MINOR ((_PSTL_VERSION % 1000) / 10)
 #define _PSTL_VERSION_PATCH (_PSTL_VERSION % 10)
diff --git a/pstl/test/pstl/version.pass.cpp b/pstl/test/pstl/version.pass.cpp
index 596b893..9780ad7 100644
--- a/pstl/test/pstl/version.pass.cpp
+++ b/pstl/test/pstl/version.pass.cpp
@@ -8,8 +8,8 @@
 
 #include <pstl/internal/pstl_config.h>
 
-static_assert(_PSTL_VERSION == 13000);
-static_assert(_PSTL_VERSION_MAJOR == 13);
+static_assert(_PSTL_VERSION == 14000);
+static_assert(_PSTL_VERSION_MAJOR == 14);
 static_assert(_PSTL_VERSION_MINOR == 00);
 static_assert(_PSTL_VERSION_PATCH == 0);
 
