[clang] 4706251 - Clear release notes for 18.x

Tobias Hieta via cfe-commits cfe-commits at lists.llvm.org
Tue Jul 25 04:59:06 PDT 2023


Author: Tobias Hieta
Date: 2023-07-25T13:58:49+02:00
New Revision: 4706251a3186c34da0ee8fd894f7e6b095da8fdc

URL: https://github.com/llvm/llvm-project/commit/4706251a3186c34da0ee8fd894f7e6b095da8fdc
DIFF: https://github.com/llvm/llvm-project/commit/4706251a3186c34da0ee8fd894f7e6b095da8fdc.diff

LOG: Clear release notes for 18.x

Added: 
    

Modified: 
    clang-tools-extra/docs/ReleaseNotes.rst
    clang/docs/ReleaseNotes.rst
    flang/docs/ReleaseNotes.md
    lld/docs/ReleaseNotes.rst
    llvm/docs/ReleaseNotes.rst
    openmp/docs/ReleaseNotes.rst
    polly/docs/ReleaseNotes.rst
    pstl/docs/ReleaseNotes.rst

Removed: 
    


################################################################################
diff  --git a/clang-tools-extra/docs/ReleaseNotes.rst b/clang-tools-extra/docs/ReleaseNotes.rst
index 236226e8b73a94..e602fceda6b1f7 100644
--- a/clang-tools-extra/docs/ReleaseNotes.rst
+++ b/clang-tools-extra/docs/ReleaseNotes.rst
@@ -94,451 +94,15 @@ The improvements are...
 Improvements to clang-tidy
 --------------------------
 
-- New global configuration file options `HeaderFileExtensions` and
-  `ImplementationFileExtensions`, replacing the check-local options of the
-  same name.
-
-- Support specifying `Checks` as a YAML list in the `.clang-tidy` configuration
-  file.
-
-- Fix a potential crash when using the `--dump-config` option.
-
-- Support specifying `SystemHeaders` in the `.clang-tidy` configuration file,
-  with the same functionality as the command-line option `--system-headers`.
-
-- `WarningsAsErrors` (`--warnings-as-errors=`) no longer promotes unlisted
-  warnings to errors. Only the warnings listed in `Checks` (`--checks=`) will
-  be promoted to errors. For custom error promotion, use `-Werror=<warning>`
-  on the compiler command-line, irrespective of `Checks` (`--checks=`) settings.
-
-- Fixed an issue where compiler warnings couldn't be suppressed using
-  `-Wno-<warning>` under C++20 and above.
-
 New checks
 ^^^^^^^^^^
 
-- New :doc:`bugprone-empty-catch
-  <clang-tidy/checks/bugprone/empty-catch>` check.
-
-  Detects and suggests addressing issues with empty catch statements.
-
-- New :doc:`bugprone-multiple-new-in-one-expression
-  <clang-tidy/checks/bugprone/multiple-new-in-one-expression>` check.
-
-  Finds multiple ``new`` operator calls in a single expression, where the allocated
-  memory by the first ``new`` may leak if the second allocation fails and throws exception.
-
-- New :doc:`bugprone-non-zero-enum-to-bool-conversion
-  <clang-tidy/checks/bugprone/non-zero-enum-to-bool-conversion>` check.
-
-  Detect implicit and explicit casts of ``enum`` type into ``bool`` where ``enum`` type
-  doesn't have a zero-value enumerator.
-
-- New :doc:`bugprone-switch-missing-default-case
-  <clang-tidy/checks/bugprone/switch-missing-default-case>` check.
-
-  Ensures that switch statements without default cases are flagged, focuses only
-  on covering cases with non-enums where the compiler may not issue warnings.
-
-- New :doc:`bugprone-unique-ptr-array-mismatch
-  <clang-tidy/checks/bugprone/unique-ptr-array-mismatch>` check.
-
-  Finds initializations of C++ unique pointers to non-array type that are
-  initialized with an array.
-
-- New :doc:`bugprone-unsafe-functions
-  <clang-tidy/checks/bugprone/unsafe-functions>` check.
-
-  Checks for functions that have safer, more secure replacements available, or
-  are considered deprecated due to design flaws.
-  This check relies heavily on, but is not exclusive to, the functions from
-  the *Annex K. "Bounds-checking interfaces"* of C11.
-
-- New :doc:`cppcoreguidelines-avoid-capturing-lambda-coroutines
-  <clang-tidy/checks/cppcoreguidelines/avoid-capturing-lambda-coroutines>` check.
-
-  Flags C++20 coroutine lambdas with non-empty capture lists that may cause
-  use-after-free errors and suggests avoiding captures or ensuring the lambda
-  closure object has a guaranteed lifetime.
-
-- New :doc:`cppcoreguidelines-misleading-capture-default-by-value
-  <clang-tidy/checks/cppcoreguidelines/misleading-capture-default-by-value>` check.
-
-  Warns when lambda specify a by-value capture default and capture ``this``.
-
-- New :doc:`cppcoreguidelines-missing-std-forward
-  <clang-tidy/checks/cppcoreguidelines/missing-std-forward>` check.
-
-  Warns when a forwarding reference parameter is not forwarded within the
-  function body.
-
-- New :doc:`cppcoreguidelines-rvalue-reference-param-not-moved
-  <clang-tidy/checks/cppcoreguidelines/rvalue-reference-param-not-moved>` check.
-
-  Warns when an rvalue reference function parameter is never moved within
-  the function body.
-
-- New :doc:`llvmlibc-inline-function-decl
-  <clang-tidy/checks/llvmlibc/inline-function-decl>` check.
-
-  Checks that all implicit and explicit inline functions in header files are
-  tagged with the ``LIBC_INLINE`` macro.
-
-- New :doc:`misc-header-include-cycle
-  <clang-tidy/checks/misc/header-include-cycle>` check.
-
-  Check detects cyclic ``#include`` dependencies between user-defined headers.
-
-- New :doc:`misc-include-cleaner
-  <clang-tidy/checks/misc/include-cleaner>` check.
-
-  Checks for unused and missing includes.
-
-- New :doc:`modernize-type-traits
-  <clang-tidy/checks/modernize/type-traits>` check.
-
-  Converts standard library type traits of the form ``traits<...>::type`` and
-  ``traits<...>::value`` into ``traits_t<...>`` and ``traits_v<...>`` respectively.
-
-- New :doc:`modernize-use-std-print
-  <clang-tidy/checks/modernize/use-std-print>` check.
-
-  Converts calls to ``printf``, ``fprintf``, ``absl::PrintF``,
-  ``absl::FPrintf`` or other functions via configuration options, to
-  equivalent calls to C++23's ``std::print`` and ``std::println``, or other
-  functions via a configuration option, modifying the format string
-  appropriately and removing now-unnecessary calls to
-  ``std::string::c_str()`` and ``std::string::data()``.
-
-- New :doc:`performance-avoid-endl
-  <clang-tidy/checks/performance/avoid-endl>` check.
-
-  Finds uses of ``std::endl`` on streams and replaces them with ``'\n'``.
-
-- New :doc:`performance-noexcept-destructor
-  <clang-tidy/checks/performance/noexcept-destructor>` check.
-
-  Finds user declared destructors which are not ``noexcept``.
-
-- New :doc:`performance-noexcept-swap
-  <clang-tidy/checks/performance/noexcept-swap>` check.
-
-  Finds user declared swap functions which are not ``noexcept``.
-
-- New :doc:`readability-avoid-unconditional-preprocessor-if
-  <clang-tidy/checks/readability/avoid-unconditional-preprocessor-if>` check.
-
-  Finds code blocks that are constantly enabled or disabled in preprocessor
-  directives by analyzing ``#if`` conditions, such as ``#if 0`` and
-  ``#if 1``, etc.
-
-- New :doc:`readability-operators-representation
-  <clang-tidy/checks/readability/operators-representation>` check.
-
-  Enforces consistent token representation for invoked binary, unary and
-  overloaded operators in C++ code.
-
 New check aliases
 ^^^^^^^^^^^^^^^^^
 
-- New alias :doc:`cert-msc24-c
-  <clang-tidy/checks/cert/msc24-c>` to :doc:`bugprone-unsafe-functions
-  <clang-tidy/checks/bugprone/unsafe-functions>` was added.
-
-- New alias :doc:`cert-msc33-c
-  <clang-tidy/checks/cert/msc33-c>` to :doc:`bugprone-unsafe-functions
-  <clang-tidy/checks/bugprone/unsafe-functions>` was added.
-
-- New alias :doc:`cppcoreguidelines-noexcept-destructor
-  <clang-tidy/checks/cppcoreguidelines/noexcept-destructor>` to
-  :doc:`performance-noexcept-destructor
-  <clang-tidy/checks/performance/noexcept-destructor>` was added.
-
-- New alias :doc:`cppcoreguidelines-noexcept-move-operations
-  <clang-tidy/checks/cppcoreguidelines/noexcept-move-operations>` to
-  :doc:`performance-noexcept-move-constructor
-  <clang-tidy/checks/performance/noexcept-move-constructor>` was added.
-
-- New alias :doc:`cppcoreguidelines-noexcept-swap
-  <clang-tidy/checks/cppcoreguidelines/noexcept-swap>` to
-  :doc:`performance-noexcept-swap
-  <clang-tidy/checks/performance/noexcept-swap>` was added.
-
-- New alias :doc:`cppcoreguidelines-use-default-member-init
-  <clang-tidy/checks/cppcoreguidelines/use-default-member-init>` to
-  :doc:`modernize-use-default-member-init
-  <clang-tidy/checks/modernize/use-default-member-init>` was added.
-
 Changes in existing checks
 ^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-- Fixed false-positives in :doc:`bugprone-branch-clone
-  <clang-tidy/checks/bugprone/branch-clone>` check by ignoring auto-generated
-  code, template instances, implicit code patterns and duplicated switch cases
-  marked with the ``[[fallthrough]]`` attribute.
-
-- Improved :doc:`bugprone-dangling-handle
-  <clang-tidy/checks/bugprone/dangling-handle>` check enhancing detection of
-  handles behind type aliases.
-
-- Deprecated check-local options `HeaderFileExtensions`
-  in :doc:`bugprone-dynamic-static-initializers
-  <clang-tidy/checks/bugprone/dynamic-static-initializers>` check.
-  Global options of the same name should be used instead.
-
-- Improved :doc:`bugprone-exception-escape
-  <clang-tidy/checks/bugprone/exception-escape>` check to not emit warnings for
-  forward declarations of functions, explicitly declared throwing functions,
-  coroutines throwing exceptions in their bodies and skip ``noexcept``
-  functions during call stack analysis.
-
-- Improved :doc:`bugprone-fold-init-type
-  <clang-tidy/checks/bugprone/fold-init-type>` to handle iterators that do not
-  define `value_type` type aliases.
-
-- Improved :doc:`bugprone-forwarding-reference-overload
-  <clang-tidy/checks/bugprone/forwarding-reference-overload>` check to ignore
-  constructors with associated constraints (C++ concepts).
-
-- Improved :doc:`bugprone-incorrect-roundings
-  <clang-tidy/checks/bugprone/incorrect-roundings>` check by adding support for
-  other floating point representations in float constant like ``0.5L``.
-
-- Improved the performance of the :doc:`bugprone-reserved-identifier
-  <clang-tidy/checks/bugprone/reserved-identifier>` check through optimizations.
-
-- Improved the :doc:`bugprone-reserved-identifier
-  <clang-tidy/checks/bugprone/reserved-identifier>` check by enhancing the
-  `AllowedIdentifiers` option to support regular expressions.
-
-- Deprecated check-local options `HeaderFileExtensions` and `ImplementationFileExtensions`
-  in :doc:`bugprone-suspicious-include
-  <clang-tidy/checks/bugprone/suspicious-include>` check.
-  Global options of the same name should be used instead.
-
-- Improved :doc:`bugprone-too-small-loop-variable
-  <clang-tidy/checks/bugprone/too-small-loop-variable>` check. Basic support
-  for bit-field and integer members as a loop variable or upper limit were added.
-
-- Improved :doc:`bugprone-unchecked-optional-access
-  <clang-tidy/checks/bugprone/unchecked-optional-access>` check to properly handle calls
-  to ``std::forward`` and support for ``folly::Optional`` were added.
-
-- Extend :doc:`bugprone-unused-return-value
-  <clang-tidy/checks/bugprone/unused-return-value>` check to check for all functions
-  with specified return types using the ``CheckedReturnTypes`` option.
-
-- Improved :doc:`bugprone-use-after-move
-  <clang-tidy/checks/bugprone/use-after-move>` check. Detect uses and moves in
-  constructor initializers. Correctly handle constructor arguments as being
-  sequenced when constructor call is written as list-initialization. Understand
-  that there is a sequence point between designated initializers.
-
-- Improved :doc:`bugprone-swapped-arguments
-  <clang-tidy/checks/bugprone/swapped-arguments>` by enhancing handling of
-  implicit conversions, resulting in better detection of argument swaps
-  involving integral and floating-point types.
-
-- Deprecated :doc:`cert-dcl21-cpp
-  <clang-tidy/checks/cert/dcl21-cpp>` check.
-
-- Fixed :doc:`cppcoreguidelines-avoid-const-or-ref-data-members
-  <clang-tidy/checks/cppcoreguidelines/avoid-const-or-ref-data-members>` check
-  to emit warnings only on classes that are copyable/movable, as required by the
-  corresponding rule.
-
-- Improved :doc:`cppcoreguidelines-owning-memory
-  <clang-tidy/checks/cppcoreguidelines/owning-memory>` check now finds more
-  issues, especially those related to implicit casts.
-
-- Deprecated C.48 enforcement from :doc:`cppcoreguidelines-prefer-member-initializer
-  <clang-tidy/checks/cppcoreguidelines/prefer-member-initializer>`. Please use
-  :doc:`cppcoreguidelines-use-default-member-init
-  <clang-tidy/checks/cppcoreguidelines/use-default-member-init>` instead.
-
-- Improved :doc:`cppcoreguidelines-pro-bounds-constant-array-index
-  <clang-tidy/checks/cppcoreguidelines/pro-bounds-constant-array-index>` check
-  to cover type aliases of ``std::array``.
-
-- Fixed a false positive in :doc:`cppcoreguidelines-slicing
-  <clang-tidy/checks/cppcoreguidelines/slicing>` check when warning would be
-  emitted in constructor for virtual base class initialization.
-
-- Deprecated check-local options `HeaderFileExtensions`
-  in :doc:`google-build-namespaces
-  <clang-tidy/checks/google/build-namespaces>` check.
-  Global options of the same name should be used instead.
-
-- Deprecated check-local options `HeaderFileExtensions`
-  in :doc:`google-global-names-in-headers
-  <clang-tidy/checks/google/global-names-in-headers>` check.
-  Global options of the same name should be used instead.
-
-- Fixed an issue in :doc:`google-readability-avoid-underscore-in-googletest-name
-  <clang-tidy/checks/google/readability-avoid-underscore-in-googletest-name>` when using
-  ``DISABLED_`` in the test suite name.
-
-- Deprecated check-local options `HeaderFileExtensions`
-  in :doc:`llvm-header-guard
-  <clang-tidy/checks/llvm/header-guard>` check.
-  Global options of the same name should be used instead.
-
-- Fix false positive in :doc:`llvmlibc-inline-function-decl
-  <clang-tidy/checks/llvmlibc/inline-function-decl>` when using templated
-  function with separate declarations and definitions.
-
-- Improved the performance of the :doc:`misc-confusable-identifiers
-  <clang-tidy/checks/misc/confusable-identifiers>` check through optimizations.
-
-- Deprecated check-local options `HeaderFileExtensions`
-  in :doc:`misc-definitions-in-headers
-  <clang-tidy/checks/misc/definitions-in-headers>` check.
-  Global options of the same name should be used instead.
-
-- Fixed false positive in :doc:`misc-definitions-in-headers
-  <clang-tidy/checks/misc/definitions-in-headers>` to avoid warning on
-  declarations inside anonymous namespaces.
-
-- Fixed false-positive in :doc:`misc-redundant-expression
-  <clang-tidy/checks/misc/redundant-expression>` check where expressions like
-  ``alignof`` or ``sizeof`` were incorrectly flagged as identical.
-
-- Improved :doc:`misc-unused-parameters
-  <clang-tidy/checks/misc/unused-parameters>` check with new `IgnoreVirtual`
-  option to optionally ignore virtual methods.
-
-- Deprecated check-local options `HeaderFileExtensions`
-  in :doc:`misc-unused-using-decls
-  <clang-tidy/checks/misc/unused-using-decls>` check.
-  Global options of the same name should be used instead.
-
-- Improved :doc:`modernize-concat-nested-namespaces
-  <clang-tidy/checks/modernize/concat-nested-namespaces>` to fix incorrect fixes when
-  using macro between namespace declarations, to fix false positive when using namespace
-  with attributes and to support nested inline namespace introduced in c++20.
-
-- Fixed an issue in :doc:`modernize-loop-convert
-  <clang-tidy/checks/modernize/loop-convert>` generating wrong code
-  when using structured bindings.
-
-- In :doc:`modernize-use-default-member-init
-  <clang-tidy/checks/modernize/use-default-member-init>` check, template
-  constructors are now counted towards hand-written constructors and skipped
-  if more than one exists. Additionally, a crash that occurred with array
-  members being value-initialized has been fixed.
-
-- Fixed false positive in :doc:`modernize-use-equals-default
-  <clang-tidy/checks/modernize/use-equals-default>` check for special member
-  functions containing macros or preprocessor directives, and out-of-line special
-  member functions in unions.
-
-- Improved :doc:`modernize-use-override
-  <clang-tidy/checks/modernize/use-override>` check with new
-  `IgnoreTemplateInstantiations` option to optionally ignore virtual function
-  overrides that are part of template instantiations.
-
-- Improved :doc:`performance-for-range-copy
-  <clang-tidy/checks/performance/for-range-copy>`
-  check by extending const usage analysis to include the type's members.
-
-- Improved :doc:`performance-inefficient-vector-operation
-  <clang-tidy/checks/performance/inefficient-vector-operation>`
-  check by extending const usage analysis to include the type's members.
-
-- Improved :doc:`performance-move-const-arg
-  <clang-tidy/checks/performance/move-const-arg>` check to warn when move
-  special member functions are not available.
-
-- Improved :doc:`performance-no-automatic-move
-  <clang-tidy/checks/performance/no-automatic-move>` check to warn on
-  ``const &&`` constructors and ignore ``const`` local variable to which NRVO
-  is applied.
-
-- Fixed an issue in the :doc:`performance-noexcept-move-constructor
-  <clang-tidy/checks/performance/noexcept-move-constructor>` checker that was causing
-  false-positives when the move constructor or move assign operator were defaulted.
-
-- Improved :doc:`performance-unnecessary-copy-initialization
-  <clang-tidy/checks/performance/unnecessary-copy-initialization>`
-  check by extending const usage analysis to include the type's members.
-
-- Improved :doc:`performance-unnecessary-value-param
-  <clang-tidy/checks/performance/unnecessary-value-param>`
-  check by extending const usage analysis to include the type's members.
-
-- Improved :doc:`readability-container-data-pointer
-  <clang-tidy/checks/readability/container-data-pointer>` check with new
-  `IgnoredContainers` option to ignore some containers.
-
-- Fixed a false positive in :doc:`readability-container-size-empty
-  <clang-tidy/checks/readability/container-size-empty>` check when comparing
-  ``std::array`` objects to default constructed ones. The behavior for this and
-  other relevant classes can now be configured with a new option.
-
-- Fixed a false negative in :doc:`readability-convert-member-functions-to-static
-  <clang-tidy/checks/readability/convert-member-functions-to-static>` when a
-  nested class in a member function uses a ``this`` pointer.
-
-- Fixed reading `HungarianNotation.CString.*` options in
-  :doc:`readability-identifier-naming
-  <clang-tidy/checks/readability/identifier-naming>` check.
-
-- Renamed `HungarianNotation.CString` options `CharPrinter` and
-  `WideCharPrinter` to `CharPointer` and `WideCharPointer` respectively in
-  :doc:`readability-identifier-naming
-  <clang-tidy/checks/readability/identifier-naming>` check.
-
-- Updated the Hungarian prefixes for enums in C files to match those used in C++
-  files for improved readability, as checked by :doc:`readability-identifier-naming
-  <clang-tidy/checks/readability/identifier-naming>`. To preserve the previous
-  behavior of using `i` as the prefix for enum tags, set the `EnumConstantPrefix`
-  option to `i` instead of using `EnumConstantHungarianPrefix`.
-
-- Fixed a hungarian notation issue in :doc:`readability-identifier-naming
-  <clang-tidy/checks/readability/identifier-naming>` which failed to indicate
-  the number of asterisks.
-
-- Fixed an issue in :doc:`readability-identifier-naming
-  <clang-tidy/checks/readability/identifier-naming>` when specifying an empty
-  string for `Prefix` or `Suffix` options could result in the style not
-  being used.
-
-- Improved the performance of the :doc:`readability-identifier-naming
-  <clang-tidy/checks/readability/identifier-naming>` check through optimizations.
-
-- Fixed a false positive in :doc:`readability-implicit-bool-conversion
-  <clang-tidy/checks/readability/implicit-bool-conversion>` check warning would
-  be unnecessarily emitted for explicit cast using direct list initialization.
-
-- Added support to optionally ignore user-defined literals in
-  :doc:`readability-magic-numbers <clang-tidy/checks/readability/magic-numbers>`
-  check and improved it to allow magic numbers in type aliases such as ``using``
-  and ``typedef`` declarations if the new `IgnoreTypeAliases` option is set to
-  `true`.
-
-- Fixed a false positive in :doc:`readability-misleading-indentation
-  <clang-tidy/checks/readability/misleading-indentation>` check when warning would
-  be unnecessarily emitted for template dependent ``if constexpr``.
-
-- Fixed a false positive in :doc:`readability-named-parameter
-  <clang-tidy/checks/readability/named-parameter>` for defaulted out-of-line
-  special member functions.
-
-- Fixed incorrect fixes in :doc:`readability-redundant-declaration
-  <clang-tidy/checks/readability/redundant-declaration>` check when linkage
-  (like ``extern "C"``) is explicitly specified.
-
-- Improved :doc:`readability-redundant-string-cstr
-  <clang-tidy/checks/readability/redundant-string-cstr>` check to recognise
-  unnecessary ``std::string::c_str()`` and ``std::string::data()`` calls in
-  arguments to ``std::print``, ``std::format`` or other functions listed in
-  the `StringParameterFunction` check option.
-
-- Improved :doc:`readability-static-accessed-through-instance
-  <clang-tidy/checks/readability/static-accessed-through-instance>` check to
-  support unscoped enumerations through instances and fixed usage of anonymous
-  structs or classes.
-
 Removed checks
 ^^^^^^^^^^^^^^
 

diff  --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index 0e711cbbd84f33..d8655e52aa3235 100644
--- a/clang/docs/ReleaseNotes.rst
+++ b/clang/docs/ReleaseNotes.rst
@@ -40,35 +40,12 @@ code bases.
 
 C/C++ Language Potentially Breaking Changes
 -------------------------------------------
-- Indirect edges of asm goto statements under certain circumstances may now be
-  split. In previous releases of clang, that means for the following code the
-  two inputs may have compared equal in the inline assembly.  This is no longer
-  guaranteed (and necessary to support outputs along indirect edges, which is
-  now supported as of this release). This change is more consistent with the
-  behavior of GCC.
-
-  .. code-block:: c
-
-    foo: asm goto ("# %0 %1"::"i"(&&foo)::foo);
-
-- ``__builtin_object_size`` and ``__builtin_dynamic_object_size`` now add the
-  ``sizeof`` the elements specified in designated initializers of flexible
-  array members for structs that contain them. This change is more consistent
-  with the behavior of GCC.
 
 C++ Specific Potentially Breaking Changes
 -----------------------------------------
-- Clang won't search for coroutine_traits in std::experimental namespace any more.
-  Clang will only search for std::coroutine_traits for coroutines then.
-- Clang no longer allows dereferencing of a ``void *`` as an extension. Clang 16
-  converted this to a default-error as ``-Wvoid-ptr-dereference``, as well as a
-  SFINAE error. This flag is still valid however, as it disables the equivalent
-  warning in C.
 
 ABI Changes in This Version
 ---------------------------
-- A bug in evaluating the ineligibility of some special member functions has been fixed. This can
-  make some classes trivially copyable that were not trivially copyable before. (`#62555 <https://github.com/llvm/llvm-project/issues/62555>`_)
 
 What's New in Clang |release|?
 ==============================
@@ -79,1032 +56,128 @@ sections with improvements to Clang's support for those languages.
 
 C++ Language Changes
 --------------------
-- Improved ``-O0`` code generation for calls to ``std::forward_like``. Similarly to
-  ``std::move, std::forward`` et al. it is now treated as a compiler builtin and implemented
-  directly rather than instantiating the definition from the standard library.
-- Implemented `CWG2518 <https://wg21.link/CWG2518>`_ which allows ``static_assert(false)``
-  to not be ill-formed when its condition is evaluated in the context of a template definition.
-- Declaring namespace std to be an inline namespace is now prohibited, `[namespace.std]p7`.
 
 C++20 Feature Support
 ^^^^^^^^^^^^^^^^^^^^^
-- Implemented the rule introduced by `CA104 <https://wg21.link/P2103R0>`_  for comparison of
-  constraint-expressions. Improved support for out-of-line definitions of constrained templates.
-  This fixes:
-  `#49620 <https://github.com/llvm/llvm-project/issues/49620>`_,
-  `#60231 <https://github.com/llvm/llvm-project/issues/60231>`_,
-  `#61414 <https://github.com/llvm/llvm-project/issues/61414>`_,
-  `#61809 <https://github.com/llvm/llvm-project/issues/61809>`_.
-- Lambda templates with a requires clause directly after the template parameters now parse
-  correctly if the requires clause consists of a variable with a dependent type.
-  (`#61278 <https://github.com/llvm/llvm-project/issues/61278>`_)
-- Announced C++20 Coroutines is fully supported on all targets except Windows, which
-  still has some stability and ABI issues.
-- Downgraded use of a reserved identifier in a module export declaration from
-  an error to a warning under the ``-Wreserved-module-identifier`` warning
-  group. This warning is enabled by default. This addresses `#61446
-  <https://github.com/llvm/llvm-project/issues/61446>`_ and allows easier
-  building of standard modules. This diagnostic may be strengthened into an
-  error again in the future once there is a less fragile way to mark a module
-  as being part of the implementation rather than a user module.
-- Clang now implements `[temp.deduct]p9`. Substitution failures inside lambdas from
-  unevaluated contexts will be surfaced as errors. They were previously handled as
-  SFINAE.
-- Clang now supports `requires cplusplus20` for module maps.
-- Implemented missing parts of `P2002R1: Consistent comparison operators <https://wg21.link/P2002R1>`_
-- Clang now defines `__cpp_consteval` macro.
-- Implemented `P1816R0: <https://wg21.link/p1816r0>`_ and `P2082R1: <https://wg21.link/p2082r1>`_,
-  which allows CTAD for aggregates.
 
 C++23 Feature Support
 ^^^^^^^^^^^^^^^^^^^^^
 
-- Implemented `P2036R3: Change scope of lambda trailing-return-type <https://wg21.link/P2036R3>`_
-  and `P2579R0 Mitigation strategies for P2036 <https://wg21.link/P2579R0>`_.
-  These proposals modify how variables captured in lambdas can appear in trailing return type
-  expressions and how their types are deduced therein, in all C++ language versions.
-- Implemented partial support for `P2448R2: Relaxing some constexpr restrictions <https://wg21.link/p2448r2>`_
-  Explicitly defaulted functions no longer have to be constexpr-compatible but merely constexpr suitable.
-  We do not support outside of defaulted special memeber functions the change that constexpr functions no
-  longer have to be constexpr compatible but rather support a less restricted requirements for constexpr
-  functions. Which include allowing non-literal types as return values and parameters, allow calling of
-  non-constexpr functions and constructors.
-- Clang now supports `requires cplusplus23` for module maps.
-- Implemented `P2564R3: consteval needs to propagate up <https://wg21.link/P2564R3>`_.
-
 C++2c Feature Support
 ^^^^^^^^^^^^^^^^^^^^^
-- Compiler flags ``-std=c++2c`` and ``-std=gnu++2c`` have been added for experimental C++2c implementation work.
-- Implemented `P2738R1: constexpr cast from void* <https://wg21.link/P2738R1>`_.
-- Partially implemented `P2361R6: Unevaluated strings <https://wg21.link/P2361R6>`_.
-  The changes to attributes declarations are not part of this release.
-- Implemented `P2741R3: user-generated static_assert messages  <https://wg21.link/P2741R3>`_.
 
 Resolutions to C++ Defect Reports
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-- Implemented `DR2397 <https://wg21.link/CWG2397>`_ which allows ``auto`` specifier for pointers
-  and reference to arrays.
-- Implemented `CWG2521 <https://wg21.link/CWG2521>`_ which reserves using ``__`` in user-defined
-  literal suffixes and deprecates literal operator function declarations using an identifier.
-  Taught ``-Wuser-defined-literals`` for the former, on by default, and added
-  ``-Wdeprecated-literal-operator`` for the latter, off by default for now.
-
-  .. code-block:: c++
-
-    // What follows is warned by -Wuser-defined-literals
-    // albeit "ill-formed, no diagnostic required".
-    // Its behavior is undefined, [reserved.names.general]p2.
-    string operator ""__i18n(const char*, std::size_t);
-
-    // Assume this declaration is not in the global namespace.
-    // -Wdeprecated-literal-operator diagnoses the extra space.
-    string operator "" _i18n(const char*, std::size_t);
-    //                ^ an extra space
 
 C Language Changes
 ------------------
-- Support for outputs from asm goto statements along indirect edges has been
-  added. (`#53562 <https://github.com/llvm/llvm-project/issues/53562>`_)
-- Fixed a bug that prevented initialization of an ``_Atomic``-qualified pointer
-  from a null pointer constant.
-- Fixed a bug that prevented casting to an ``_Atomic``-qualified type.
-  (`#39596 <https://github.com/llvm/llvm-project/issues/39596>`_)
-- Added an extension to ``_Generic`` which allows the first operand to be a
-  type rather than an expression. The type does not undergo any conversions,
-  which makes this feature suitable for matching qualified types, incomplete
-  types, and function or array types.
-
-  .. code-block:: c
-
-    const int i = 12;
-    _Generic(i, int : 0, const int : 1); // Warns about unreachable code, the
-                                         // result is 0, not 1.
-    _Generic(typeof(i), int : 0, const int : 1); // Result is 1, not 0.
 
 C2x Feature Support
 ^^^^^^^^^^^^^^^^^^^
-- Implemented the ``unreachable`` macro in freestanding ``<stddef.h>`` for
-  `WG14 N2826 <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2826.pdf>`_
-
-- Removed the ``ATOMIC_VAR_INIT`` macro in C2x and later standards modes, which
-  implements `WG14 N2886 <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2886.htm>`_
-
-- Implemented `WG14 N2934 <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2934.pdf>`_
-  which introduces the ``bool``, ``static_assert``, ``alignas``, ``alignof``,
-  and ``thread_local`` keywords in C2x.
-
-- Implemented `WG14 N2900 <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2900.htm>`_
-  and `WG14 N3011 <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3011.htm>`_
-  which allows for empty braced initialization in C.
-
-  .. code-block:: c
-
-    struct S { int x, y } s = {}; // Initializes s.x and s.y to 0
-
-  As part of this change, the ``-Wgnu-empty-initializer`` warning group was
-  removed, as this is no longer a GNU extension but a C2x extension. You can
-  use ``-Wno-c2x-extensions`` to silence the extension warning instead.
-
-- Updated the implementation of
-  `WG14 N3042 <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3042.htm>`_
-  based on decisions reached during the WG14 CD Ballot Resolution meetings held
-  in Jan and Feb 2023. This should complete the implementation of ``nullptr``
-  and ``nullptr_t`` in C. The specific changes are:
-
-  .. code-block:: c
-
-    void func(nullptr_t);
-    func(0); // Previously required to be rejected, is now accepted.
-    func((void *)0); // Previously required to be rejected, is now accepted.
-
-    nullptr_t val;
-    val = 0; // Previously required to be rejected, is now accepted.
-    val = (void *)0; // Previously required to be rejected, is now accepted.
-
-    bool b = nullptr; // Was incorrectly rejected by Clang, is now accepted.
-
-- Implemented `WG14 N3124 <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3124.pdf>_`,
-  which allows any universal character name to appear in character and string literals.
-
 
 Non-comprehensive list of changes in this release
 -------------------------------------------------
-- Clang now saves the address of ABI-indirect function parameters on the stack,
-  improving the debug information available in programs compiled without
-  optimizations.
-- Clang now supports ``__builtin_nondeterministic_value`` that returns a
-  nondeterministic value of the same type as the provided argument.
-- Clang now supports ``__builtin_FILE_NAME()`` which returns the same
-  information as the ``__FILE_NAME__`` macro (the presumed file name
-  from the invocation point, with no path components included).
-- Clang now supports ``__builtin_assume_separate_storage`` that indicates that
-  its arguments point to objects in separate storage allocations.
-- Clang now supports expressions in ``#pragma clang __debug dump``.
-- Clang now supports declaration of multi-dimensional arrays with
-  ``__declspec(property)``.
-- A new builtin type trait ``__is_trivially_equality_comparable`` has been added,
-  which checks whether comparing two instances of a type is equivalent to
-  ``memcmp(&lhs, &rhs, sizeof(T)) == 0``.
-- Clang now ignores null directives outside of the include guard when deciding
-  whether a file can be enabled for the multiple-include optimization.
-- Clang now support ``__builtin_FUNCSIG()`` which returns the same information
-  as the ``__FUNCSIG__`` macro (available only with ``-fms-extensions`` flag).
-  This fixes (`#58951 <https://github.com/llvm/llvm-project/issues/58951>`_).
-- Clang now supports the `NO_COLOR <https://no-color.org/>`_ environment
-  variable as a way to disable color diagnostics.
-- Clang now supports ``__builtin_isfpclass``, which checks if the specified
-  floating-point value falls into any of the specified data classes.
-- Added ``__builtin_elementwise_round`` for  builtin for floating
-  point types. This allows access to ``llvm.round`` for
-  arbitrary floating-point and vector of floating-point types.
-- Added ``__builtin_elementwise_rint`` for floating point types. This
-  allows access to ``llvm.rint`` for arbitrary floating-point and
-  vector of floating-point types.
-- Added ``__builtin_elementwise_nearbyint`` for floating point
-  types. This allows access to ``llvm.nearbyint`` for arbitrary
-  floating-point and vector of floating-point types.
-- Clang AST matcher now matches concept declarations with `conceptDecl`.
 
 New Compiler Flags
 ------------------
-- The flag ``-std=c++23`` has been added. This behaves the same as the existing
-  flag ``-std=c++2b``.
-- ``-dumpdir`` has been implemented to specify auxiliary and dump output
-  filenames for features like ``-gsplit-dwarf``.
-- ``-fcaret-diagnostics-max-lines=`` has been added as a driver options, which
-  lets users control the maximum number of source lines printed for a
-  caret diagnostic.
-- ``-fkeep-persistent-storage-variables`` has been implemented to keep all
-  variables that have a persistent storage duration—including global, static
-  and thread-local variables—to guarantee that they can be directly addressed.
-  Since this inhibits the merging of the affected variables, the number of
-  individual relocations in the program will generally increase.
 
 Deprecated Compiler Flags
 -------------------------
 
-- ``-fdouble-square-bracket-attributes`` has been deprecated. It is ignored now
-  and will be removed in Clang 18.
-
 Modified Compiler Flags
 -----------------------
 
-- ``clang -g -gsplit-dwarf a.c -o obj/x`` (compile and link) now generates the
-  ``.dwo`` file at ``obj/x-a.dwo``, instead of a file in the temporary
-  directory (``/tmp`` on \*NIX systems, if none of the environment variables
-  TMPDIR, TMP, and TEMP are specified).
-
-- ``-ffat-lto-objects`` can now be used to emit object files with both object
-  code and LLVM bitcode. Previously this flag was ignored for GCC compatibility.
-  (`See related patch <https://reviews.llvm.org/D146777>`_).
-
 Removed Compiler Flags
 -------------------------
-- The deprecated flag `-fmodules-ts` is removed. Please use ``-std=c++20``
-  or higher to use standard C++ modules instead.
-- The deprecated flag `-fcoroutines-ts` is removed. Please use ``-std=c++20``
-  or higher to use standard C++ coroutines instead.
-- The CodeGen flag `-lower-global-dtors-via-cxa-atexit` which affects how global
-  destructors are lowered for MachO is removed without replacement. The default
-  of `-lower-global-dtors-via-cxa-atexit=true` is now the only supported way.
-- The cc1 flag ``-no-opaque-pointers`` has been removed.
 
 Attribute Changes in Clang
 --------------------------
-- Introduced a new function attribute ``__attribute__((unsafe_buffer_usage))``
-  to be worn by functions containing buffer operations that could cause out of
-  bounds memory accesses. It emits warnings at call sites to such functions when
-  the flag ``-Wunsafe-buffer-usage`` is enabled.
-- ``__declspec`` attributes can now be used together with the using keyword. Before
-  the attributes on ``__declspec`` was ignored, while now it will be forwarded to the
-  point where the alias is used.
-- Introduced a new ``USR`` (unified symbol resolution) clause inside of the
-  existing ``__attribute__((external_source_symbol))`` attribute. Clang's indexer
-  uses the optional USR value when indexing Clang's AST. This value is expected
-  to be generated by an external compiler when generating C++ bindings during
-  the compilation of the foreign language sources (e.g. Swift).
-- The ``__has_attribute``, ``__has_c_attribute`` and ``__has_cpp_attribute``
-  preprocessor operators now return 1 also for attributes defined by plugins.
-- Improve the AST fidelity of ``alignas`` and ``_Alignas`` attribute. Before, we
-  model ``alignas(type-id)`` as though the user wrote ``alignas(alignof(type-id))``,
-  now we directly use ``alignas(type-id)``.
 
 Improvements to Clang's diagnostics
 -----------------------------------
-- We now generate a diagnostic for signed integer overflow due to unary minus
-  in a non-constant expression context.
-  (`#31643 <https://github.com/llvm/llvm-project/issues/31643>`_)
-- Clang now warns by default for C++20 and later about deprecated capture of
-  ``this`` with a capture default of ``=``. This warning can be disabled with
-  ``-Wno-deprecated-this-capture``.
-- Clang had failed to emit some ``-Wundefined-internal`` for members of a local
-  class if that class was first introduced with a forward declaration.
-- Diagnostic notes and fix-its are now generated for ``ifunc``/``alias`` attributes
-  which point to functions whose names are mangled.
-- Diagnostics relating to macros on the command line of a preprocessed assembly
-  file or precompiled header are now reported as coming from the file
-  ``<command line>`` instead of ``<built-in>``.
-- Clang constexpr evaluator now provides a more concise diagnostic when calling
-  function pointer that is known to be null.
-- Clang now avoids duplicate warnings on unreachable ``[[fallthrough]];`` statements
-  previously issued from ``-Wunreachable-code`` and ``-Wunreachable-code-fallthrough``
-  by prioritizing ``-Wunreachable-code-fallthrough``.
-- Clang now correctly diagnoses statement attributes ``[[clang::always_inline]]`` and
-  ``[[clang::noinline]]`` when used on a statement with dependent call expressions.
-- Clang now checks for completeness of the second and third arguments in the
-  conditional operator.
-  (`#59718 <https://github.com/llvm/llvm-project/issues/59718>`_)
-- There were some cases in which the diagnostic for the unavailable attribute
-  might not be issued, this fixes those cases.
-  (`61815 <https://github.com/llvm/llvm-project/issues/61815>`_)
-- Clang now avoids unnecessary diagnostic warnings for obvious expressions in
-  the case of binary operators with logical OR operations.
-  (`#57906 <https://github.com/llvm/llvm-project/issues/57906>`_)
-- Clang's "static assertion failed" diagnostic now points to the static assertion
-  expression instead of pointing to the ``static_assert`` token.
-  (`#61951 <https://github.com/llvm/llvm-project/issues/61951>`_)
-- ``-Wformat`` now recognizes ``%lb`` for the ``printf``/``scanf`` family of
-  functions.
-  (`#62247: <https://github.com/llvm/llvm-project/issues/62247>`_).
-- Clang now diagnoses shadowing of lambda's template parameter by a capture.
-  (`#61105: <https://github.com/llvm/llvm-project/issues/61105>`_).
-- Address a false positive in ``-Wpacked`` when applied to a non-pod type using
-  Clang ABI >= 15.
-  (`#62353: <https://github.com/llvm/llvm-project/issues/62353>`_,
-  fallout from the non-POD packing ABI fix in LLVM 15).
-- Clang constexpr evaluator now prints subobject's name instead of its type in notes
-  when a constexpr variable has uninitialized subobjects after its constructor call.
-  (`#58601 <https://github.com/llvm/llvm-project/issues/58601>`_)
-- Clang's `-Wshadow` warning now warns about shadowings by static local variables
-  (`#62850: <https://github.com/llvm/llvm-project/issues/62850>`_).
-- Clang now warns when any predefined macro is undefined or redefined, instead
-  of only some of them.
-- Clang now correctly diagnoses when the argument to ``alignas`` or ``_Alignas``
-  is an incomplete type.
-  (`#55175: <https://github.com/llvm/llvm-project/issues/55175>`_, and fixes an
-  incorrect mention of ``alignof`` in a diagnostic about ``alignas``).
-- Clang will now show a margin with line numbers to the left of each line
-  of code it prints for diagnostics. This can be disabled using
-  ``-fno-diagnostics-show-line-numbers``. At the same time, the maximum
-  number of code lines it prints has been increased from 1 to 16. This
-  can be controlled using ``-fcaret-diagnostics-max-lines=``.
-- Clang no longer emits ``-Wunused-variable`` warnings for variables declared
-  with ``__attribute__((cleanup(...)))`` to match GCC's behavior.
-- Clang now issues expected warnings for situations of comparing with NULL pointers.
-  (`#42992: <https://github.com/llvm/llvm-project/issues/42992>`_)
-- Clang now diagnoses unused const-qualified variable template as
-  "unused variable template" rather than "unused variable".
-- When diagnosing a constant expression where an enum without a fixed underlying
-  type is set to a value outside the range of the enum's values, clang will now
-  print the name of the enum in question.
-- Clang no longer diagnoses a read of an empty structure as use of an
-  uninitialized variable.
-  (`#26842: <https://github.com/llvm/llvm-project/issues/26842>`_)
-- The Fix-It emitted for unused labels used to expand to the next line, which caused
-  visual oddities now that Clang shows more than one line of code snippet. This has
-  been fixed and the Fix-It now only spans to the end of the ``:``.
-- Clang now underlines the parameter list of function declaration when emitting
-  a note about the mismatch in the number of arguments.
-- Clang now diagnoses unexpected tokens after a
-  ``#pragma clang|GCC diagnostic push|pop`` directive.
-  (`#13920: <https://github.com/llvm/llvm-project/issues/13920>`_)
-- Clang now does not try to analyze cast validity on variables with dependent alignment (`#63007: <https://github.com/llvm/llvm-project/issues/63007>`_).
-- Clang constexpr evaluator now displays member function calls more precisely
-  by making use of the syntactical structure of function calls. This avoids display
-  of syntactically invalid codes in diagnostics.
-  (`#57081: <https://github.com/llvm/llvm-project/issues/57081>`_)
-- Clang no longer emits inappropriate notes about the loss of ``__unaligned`` qualifier
-  on overload resolution, when the actual reason for the failure is loss of other qualifiers.
-- The note emitted when an ``operator==`` was defaulted as deleted used to refer to
-  the lack of a data member's "three-way comparison operator". It now refers correctly
-  to the data member's ``operator==``.
-  (`#63960: <https://github.com/llvm/llvm-project/issues/63960>`_)
-- Clang's notes about unconvertible types in overload resolution failure now covers
-  the source range of parameter declaration of the candidate function declaration.
-
-  *Example Code*:
-
-  .. code-block:: c++
-
-     void func(int aa, int bb);
-     void test() { func(1, "two"); }
-
-  *BEFORE*:
-
-  .. code-block:: text
-
-    source:2:15: error: no matching function for call to 'func'
-    void test() { func(1, "two");  }
-                  ^~~~
-    source:1:6: note: candidate function not viable: no known conversion from 'const char[4]' to 'int' for 2nd argument
-    void func(int aa, int bb);
-         ^
-
-  *AFTER*:
-
-  .. code-block:: text
-
-    source:2:15: error: no matching function for call to 'func'
-    void test() { func(1, "two");  }
-                  ^~~~
-    source:1:6: note: candidate function not viable: no known conversion from 'const char[4]' to 'int' for 2nd argument
-    void func(int aa, int bb);
-         ^            ~~~~~~
-
-- ``-Wformat`` cast fix-its will now suggest ``static_cast`` instead of C-style casts
-  for C++ code.
-- ``-Wformat`` will no longer suggest a no-op fix-it for fixing scoped enum format
-  warnings. Instead, it will suggest casting the enum object to the type specified
-  in the format string.
-- Clang now emits ``-Wconstant-logical-operand`` warning even when constant logical
-  operand is on left side.
-  (`#37919 <https://github.com/llvm/llvm-project/issues/37919>`_)
 
 Bug Fixes in This Version
 -------------------------
 
-- Added a new diagnostic warning group
-  ``-Wdeprecated-redundant-constexpr-static-def``, under the existing
-  ``-Wdeprecated`` group. This controls warnings about out-of-line definitions
-  of 'static constexpr' data members that are unnecessary from C++17 onwards.
-- Fix segfault while running clang-rename on a non existing file.
-  (`#36471 <https://github.com/llvm/llvm-project/issues/36471>`_)
-- Fix crash when diagnosing incorrect usage of ``_Nullable`` involving alias
-  templates.
-  (`#60344 <https://github.com/llvm/llvm-project/issues/60344>`_)
-- Fix confusing warning message when ``/clang:-x`` is passed in ``clang-cl``
-  driver mode and emit an error which suggests using ``/TC`` or ``/TP``
-  ``clang-cl`` options instead.
-  (`#59307 <https://github.com/llvm/llvm-project/issues/59307>`_)
-- Fix assert that fails when the expression causing the this pointer to be
-  captured by a block is part of a constexpr if statement's branch and
-  instantiation of the enclosing method causes the branch to be discarded.
-- Fix __VA_OPT__ implementation so that it treats the concatenation of a
-  non-placemaker token and placemaker token as a non-placemaker token.
-  (`#60268 <https://github.com/llvm/llvm-project/issues/60268>`_)
-- Fix crash when taking the address of a consteval lambda call operator.
-  (`#57682 <https://github.com/llvm/llvm-project/issues/57682>`_)
-- Clang now support export declarations in the language linkage.
-  (`#60405 <https://github.com/llvm/llvm-project/issues/60405>`_)
-- Fix aggregate initialization inside lambda constexpr.
-  (`#60936 <https://github.com/llvm/llvm-project/issues/60936>`_)
-- No longer issue a false positive diagnostic about a catch handler that cannot
-  be reached despite being reachable. This fixes
-  `#61177 <https://github.com/llvm/llvm-project/issues/61177>`_ in anticipation
-  of `CWG2699 <https://wg21.link/CWG2699>_` being accepted by WG21.
-- Fix crash when parsing fold expression containing a delayed typo correction.
-  (`#61326 <https://github.com/llvm/llvm-project/issues/61326>`_)
-- Fix crash when dealing with some member accesses outside of class or member
-  function context.
-  (`#37792 <https://github.com/llvm/llvm-project/issues/37792>`_) and
-  (`#48405 <https://github.com/llvm/llvm-project/issues/48405>`_)
-- Fix crash when using ``[[clang::always_inline]]`` or ``[[clang::noinline]]``
-  statement attributes on a call to a template function in the body of a
-  template function.
-- Fix coroutines issue where ``get_return_object()`` result was always eagerly
-  converted to the return type. Eager initialization (allowing RVO) is now only
-  performed when these types match, otherwise deferred initialization is used,
-  enabling short-circuiting coroutines use cases. This fixes
-  (`#56532 <https://github.com/llvm/llvm-project/issues/56532>`_) in
-  anticipation of `CWG2563 <https://cplusplus.github.io/CWG/issues/2563.html>_`.
-- Fix highlighting issue with ``_Complex`` and initialization list with more than
-  2 items. (`#61518 <https://github.com/llvm/llvm-project/issues/61518>`_)
-- Fix  ``getSourceRange`` on  ``VarTemplateSpecializationDecl`` and
-  ``VarTemplatePartialSpecializationDecl``, which represents variable with
-  the initializer, so it behaves consistently with other ``VarDecls`` and ends
-  on the last token of initializer, instead of right angle bracket of
-  the template argument list.
-- Fix false-positive diagnostic issued for consteval initializers of temporary
-  objects.
-  (`#60286 <https://github.com/llvm/llvm-project/issues/60286>`_)
-- Correct restriction of trailing requirements clauses on a templated function.
-  Previously we only rejected non-'templated' things, but the restrictions ALSO need
-  to limit non-defined/non-member functions as well. Additionally, we now diagnose
-  requires on lambdas when not allowed, which we previously missed.
-  (`#61748 <https://github.com/llvm/llvm-project/issues/61748>`_)
-- Fix confusing diagnostic for incorrect use of qualified concepts names.
-- Fix handling of comments in function like macros so they are ignored in -CC
-  mode.
-  (`#60887 <https://github.com/llvm/llvm-project/issues/60887>`_)
-- Fix incorrect merging of lambdas across modules.
-  (`#60985 <https://github.com/llvm/llvm-project/issues/60985>`_)
-- Fix crash when handling nested immediate invocations in initializers of global
-  variables.
-  (`#58207 <https://github.com/llvm/llvm-project/issues/58207>`_)
-- Fix crash when generating code coverage information for `PseudoObjectExpr` in
-  Clang AST.
-  (`#45481 <https://github.com/llvm/llvm-project/issues/45481>`_)
-- Fix the assertion hit when a template consteval function appears in a nested
-  consteval/constexpr call chain.
-  (`#61142 <https://github.com/llvm/llvm-project/issues/61142>`_)
-- Clang now better diagnose placeholder types constrained with a concept that is
-  not a type concept.
-- Fix crash when a doc comment contains a line splicing.
-  (`#62054 <https://github.com/llvm/llvm-project/issues/62054>`_)
-- Work around with a clang coverage crash which happens when visiting
-  expressions/statements with invalid source locations in non-assert builds.
-  Assert builds may still see assertions triggered from this.
-- Fix a failed assertion due to an invalid source location when trying to form
-  a coverage report for an unresolved constructor expression.
-  (`#62105 <https://github.com/llvm/llvm-project/issues/62105>`_)
-- Fix defaulted equality operator so that it does not attempt to compare unnamed
-  bit-fields. This fixes:
-  (`#61355 <https://github.com/llvm/llvm-project/issues/61335>`_) and
-  (`#61417 <https://github.com/llvm/llvm-project/issues/61417>`_)
-- Fix crash after suggesting typo correction to constexpr if condition.
-  (`#61885 <https://github.com/llvm/llvm-project/issues/61885>`_)
-- Clang constexpr evaluator now treats comparison of [[gnu::weak]]-attributed
-  member pointer as an invalid expression.
-- Fix crash when member function contains invalid default argument.
-  (`#62122 <https://github.com/llvm/llvm-project/issues/62122>`_)
-- Fix crash when handling undefined template partial specialization
-  (`#61356 <https://github.com/llvm/llvm-project/issues/61356>`_)
-- Fix premature substitution into the constraints of an inherited constructor.
-- Fix crash when attempting to perform parenthesized initialization of an
-  aggregate with a base class with only non-public constructors.
-  (`#62296 <https://github.com/llvm/llvm-project/issues/62296>`_)
-- Fix crash when handling initialization candidates for invalid deduction guide.
-  (`#62408 <https://github.com/llvm/llvm-project/issues/62408>`_)
-- Fix crash when redefining a variable with an invalid type again with an
-  invalid type. (`#62447 <https://github.com/llvm/llvm-project/issues/62447>`_)
-- Fix a stack overflow issue when evaluating ``consteval`` default arguments.
-  (`#60082 <https://github.com/llvm/llvm-project/issues/60082>`_)
-- Fix the assertion hit when generating code for global variable initializer of
-  _BitInt(1) type.
-  (`#62207 <https://github.com/llvm/llvm-project/issues/62207>`_)
-- Fix lambdas and other anonymous function names not respecting ``-fdebug-prefix-map``
-  (`#62192 <https://github.com/llvm/llvm-project/issues/62192>`_)
-- Fix crash when attempting to pass a non-pointer type as first argument of
-  ``__builtin_assume_aligned``.
-  (`#62305 <https://github.com/llvm/llvm-project/issues/62305>`_)
-- A default argument for a non-type template parameter is evaluated and checked
-  at the point where it is required. This fixes:
-  (`#62224 <https://github.com/llvm/llvm-project/issues/62224>`_) and
-  (`#62596 <https://github.com/llvm/llvm-project/issues/62596>`_)
-- Fix an assertion when instantiating the body of a Class Template Specialization
-  when it had been instantiated from a partial template specialization with 
diff erent
-  template arguments on the containing class. This fixes:
-  (`#60778 <https://github.com/llvm/llvm-project/issues/60778>`_).
-- Fix a crash when an enum constant has a dependent-type recovery expression for
-  C.
-  (`#62446 <https://github.com/llvm/llvm-project/issues/62446>`_).
-- Propagate the value-dependent bit for VAArgExpr. Fixes a crash where a
-  __builtin_va_arg call has invalid arguments.
-  (`#62711 <https://github.com/llvm/llvm-project/issues/62711>`_).
-- Fix crash on attempt to initialize union with flexible array member.
-  (`#61746 <https://github.com/llvm/llvm-project/issues/61746>`_).
-- Clang `TextNodeDumper` enabled through `-ast-dump` flag no longer evaluates the
-  initializer of constexpr `VarDecl` if the declaration has a dependent type.
-- Match GCC's behavior for ``__builtin_object_size`` and
-  ``__builtin_dynamic_object_size`` on structs containing flexible array
-  members.
-  (`#62789 <https://github.com/llvm/llvm-project/issues/62789>`_).
-- Fix a crash when instantiating a non-type template argument in a dependent scope.
-  (`#62533 <https://github.com/llvm/llvm-project/issues/62533>`_).
-- Fix crash when diagnosing default comparison method.
-  (`#62791 <https://github.com/llvm/llvm-project/issues/62791>`_) and
-  (`#62102 <https://github.com/llvm/llvm-project/issues/62102>`_).
-- Fix crash when passing a braced initializer list to a parentehsized aggregate
-  initialization expression.
-  (`#63008 <https://github.com/llvm/llvm-project/issues/63008>`_).
-- Reject increment of bool value in unevaluated contexts after C++17.
-  (`#47517 <https://github.com/llvm/llvm-project/issues/47517>`_).
-- Fix assertion and quality of diagnostic messages in a for loop
-  containing multiple declarations and a range specifier
-  (`#63010 <https://github.com/llvm/llvm-project/issues/63010>`_).
-- Fix rejects-valid when consteval operator appears inside of a template.
-  (`#62886 <https://github.com/llvm/llvm-project/issues/62886>`_).
-- Fix crash for code using ``_Atomic`` types in C++
-  (`See patch <https://reviews.llvm.org/D152303>`_).
-- Fix crash when passing a value larger then 64 bits to the aligned attribute.
-  (`#50534 <https://github.com/llvm/llvm-project/issues/50534>`_).
-- CallExpr built for C error-recovery now is always type-dependent. Fixes a
-  crash when we encounter a unresolved TypoExpr during diagnostic emission.
-  (`#50244 <https://github.com/llvm/llvm-project/issues/50244>`_).
-- Apply ``-fmacro-prefix-map`` to anonymous tags in template arguments
-  (`#63219 <https://github.com/llvm/llvm-project/issues/63219>`_).
-- Clang now properly diagnoses format string mismatches involving scoped
-  enumeration types. A scoped enumeration type is not promoted to an integer
-  type by the default argument promotions, and thus this is UB. Clang's
-  behavior now matches GCC's behavior in C++.
-  (`#38717 <https://github.com/llvm/llvm-project/issues/38717>`_).
-- Fixed a failing assertion when implicitly defining a function within a GNU
-  statement expression that appears outside of a function block scope. The
-  assertion was benign outside of asserts builds and would only fire in C.
-  (`#48579 <https://github.com/llvm/llvm-project/issues/48579>`_).
-- Fixed a failing assertion when applying an attribute to an anonymous union.
-  The assertion was benign outside of asserts builds and would only fire in C++.
-  (`#48512 <https://github.com/llvm/llvm-project/issues/48512>`_).
-- Fixed a failing assertion when parsing incomplete destructor.
-  (`#63503 <https://github.com/llvm/llvm-project/issues/63503>`_)
-- Fix C++17 mode assert when parsing malformed code and the compiler is
-  attempting to see if it could be type template for class template argument
-  deduction. This fixes
-  (`Issue 57495 <https://github.com/llvm/llvm-project/issues/57495>`_)
-- Fix missing destructor calls and therefore memory leaks in generated code
-  when an immediate invocation appears as a part of an expression that produces
-  temporaries.
-  (`#60709 <https://github.com/llvm/llvm-project/issues/60709>`_).
-- Fixed a missed integer overflow warning with temporary values.
-  (`#63629 <https://github.com/llvm/llvm-project/issues/63629>`_)
-- Fixed parsing of elaborated type specifier inside of a new expression.
-  (`#34341 <https://github.com/llvm/llvm-project/issues/34341>`_)
-- Clang now correctly evaluates ``__has_extension (cxx_defaulted_functions)``
-  and ``__has_extension (cxx_default_function_template_args)`` to 1.
-  (`#61758 <https://github.com/llvm/llvm-project/issues/61758>`_)
-- Stop evaluating a constant expression if the condition expression which in
-  switch statement contains errors.
-  (`#63453 <https://github.com/llvm/llvm-project/issues/63453>_`)
-- Fixed false positive error diagnostic when pack expansion appears in template
-  parameters of a member expression.
-  (`#48731 <https://github.com/llvm/llvm-project/issues/48731>`_)
-- Fix the contains-errors bit not being set for DeclRefExpr that refers to a
-  VarDecl with invalid initializer. This fixes:
-  (`#50236 <https://github.com/llvm/llvm-project/issues/50236>`_),
-  (`#50243 <https://github.com/llvm/llvm-project/issues/50243>`_),
-  (`#48636 <https://github.com/llvm/llvm-project/issues/48636>`_),
-  (`#50320 <https://github.com/llvm/llvm-project/issues/50320>`_).
-- Fix an assertion when using ``\u0024`` (``$``) as an identifier, by disallowing
-  that construct (`#62133 <https://github.com/llvm/llvm-project/issues/38717>_`).
-- Fix crash caused by PseudoObjectExprBitfields: NumSubExprs overflow.
-  (`#63169 <https://github.com/llvm/llvm-project/issues/63169>_`)
-- Fix crash when casting an object to an array type.
-  (`#63758 <https://github.com/llvm/llvm-project/issues/63758>_`)
-- Fixed false positive error diagnostic observed from mixing ``asm goto`` with
-  ``__attribute__((cleanup()))`` variables falsely warning that jumps to
-  non-targets would skip cleanup.
-- Correcly diagnose jumps into statement expressions.
-  This ensures the behavior of Clang is consistent with GCC.
-  (`#63682 <https://github.com/llvm/llvm-project/issues/63682>`_)
-- Invalidate BlockDecl with implicit return type, in case any of the return
-  value exprs is invalid. Propagating the error info up by replacing BlockExpr
-  with a RecoveryExpr. This fixes:
-  (`#63863 <https://github.com/llvm/llvm-project/issues/63863>_`)
-- Invalidate BlockDecl with invalid ParmVarDecl. Remove redundant dump of
-  BlockDecl's ParmVarDecl
-  (`#64005 <https://github.com/llvm/llvm-project/issues/64005>_`)
-- Fix crash on nested templated class with template function call.
-  (`#61159 <https://github.com/llvm/llvm-project/issues/61159>_`)
-
 Bug Fixes to Compiler Builtins
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 Bug Fixes to Attribute Support
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-- Fixed a bug where attribute annotations on type specifiers (enums, classes,
-  structs, unions, and scoped enums) were not properly ignored, resulting in
-  misleading warning messages. Now, such attribute annotations are correctly
-  ignored. (`#61660 <https://github.com/llvm/llvm-project/issues/61660>`_)
-- GNU attributes preceding C++ style attributes on templates were not properly
-  handled, resulting in compilation error. This has been corrected to match the
-  behavior exhibited by GCC, which permits mixed ordering of GNU and C++
-  attributes.
 
 Bug Fixes to C++ Support
 ^^^^^^^^^^^^^^^^^^^^^^^^
 
-- Fix crash on invalid code when looking up a destructor in a templated class
-  inside a namespace.
-  (`#59446 <https://github.com/llvm/llvm-project/issues/59446>`_)
-- Fix crash when evaluating consteval constructor of derived class whose base
-  has more than one field.
-  (`#60166 <https://github.com/llvm/llvm-project/issues/60166>`_)
-- Fix an issue about ``decltype`` in the members of class templates derived from
-  templates with related parameters.
-  (`#58674 <https://github.com/llvm/llvm-project/issues/58674>`_)
-- Fix incorrect deletion of the default constructor of unions in some
-  cases. (`#48416 <https://github.com/llvm/llvm-project/issues/48416>`_)
-- No longer issue a pre-C++23 compatibility warning in ``-pedantic`` mode
-  regarding overloaded `operator[]` with more than one parameter or for static
-  lambdas. (`#61582 <https://github.com/llvm/llvm-project/issues/61582>`_)
-- Stop stripping CV qualifiers from the type of ``this`` when capturing it by value in
-  a lambda.
-  (`#50866 <https://github.com/llvm/llvm-project/issues/50866>`_)
-- Fix ordering of function templates by constraints when they have template
-  template parameters with 
diff erent nested constraints.
-- Fix type equivalence comparison between auto types to take constraints into
-  account.
-- Fix bug in the computation of the ``__has_unique_object_representations``
-  builtin for types with unnamed bitfields.
-  (`#61336 <https://github.com/llvm/llvm-project/issues/61336>`_)
-- Fix default member initializers sometimes being ignored when performing
-  parenthesized aggregate initialization of templated types.
-  (`#62266 <https://github.com/llvm/llvm-project/issues/62266>`_)
-- Fix overly aggressive lifetime checks for parenthesized aggregate
-  initialization.
-  (`#61567 <https://github.com/llvm/llvm-project/issues/61567>`_)
-- Fix a crash when expanding a pack as the index of a subscript expression.
-- Fix handling of constexpr dynamic memory allocations in template
-  arguments. (`#62462 <https://github.com/llvm/llvm-project/issues/62462>`_)
-- Some predefined expressions are now treated as string literals in MSVC
-  compatibility mode.
-  (`#114 <https://github.com/llvm/llvm-project/issues/114>`_)
-- Fix parsing of `auto(x)`, when it is surrounded by parentheses.
-  (`#62494 <https://github.com/llvm/llvm-project/issues/62494>`_)
-- Fix handling of generic lambda used as template arguments.
-  (`#62611 <https://github.com/llvm/llvm-project/issues/62611>`_)
-- Allow omitting ``typename`` in the parameter declaration of a friend
-  constructor declaration.
-  (`#63119 <https://github.com/llvm/llvm-project/issues/63119>`_)
-- Fix access of a friend class declared in a local class. Clang previously
-  emitted an error when a friend of a local class tried to access it's
-  private data members.
-- Allow abstract parameter and return types in functions that are
-  either deleted or not defined.
-  (`#63012 <https://github.com/llvm/llvm-project/issues/63012>`_)
-- Fix handling of using-declarations in the init statements of for
-  loop declarations.
-  (`#63627 <https://github.com/llvm/llvm-project/issues/63627>`_)
-- Fix crash when emitting diagnostic for out of order designated initializers
-  in C++.
-  (`#63605 <https://github.com/llvm/llvm-project/issues/63605>`_)
-- Fix crash when using standard C++ modules with OpenMP.
-  (`#62359 <https://github.com/llvm/llvm-project/issues/62359>`_)
-- Fix crash when using consteval non static data member initialization in
-  standard C++ modules.
-  (`#60275 <https://github.com/llvm/llvm-project/issues/60275>`_)
-- Fix handling of ADL for dependent expressions in standard C++ modules.
-  (`#60488 <https://github.com/llvm/llvm-project/issues/60488>`_)
-- Fix crash when combining `-ftime-trace` within standard C++ modules.
-  (`#60544 <https://github.com/llvm/llvm-project/issues/60544>`_)
-- Don't generate template specializations when importing standard C++ modules.
-  (`#60693 <https://github.com/llvm/llvm-project/issues/60693>`_)
-- Fix the visibility of `initializer list` in the importer of standard C++
-  modules. This addresses
-  (`#60775 <https://github.com/llvm/llvm-project/issues/60775>`_)
-- Allow the use of constrained friend in standard C++ modules.
-  (`#60890 <https://github.com/llvm/llvm-project/issues/60890>`_)
-- Don't evaluate initializer of used variables in every importer of standard
-  C++ modules.
-  (`#61040 <https://github.com/llvm/llvm-project/issues/61040>`_)
-- Fix the issue that the default `operator==` in standard C++ modules will
-  cause duplicate symbol linker error.
-  (`#61067 <https://github.com/llvm/llvm-project/issues/61067>`_)
-- Fix the false positive ODR check for template names. This addresses the issue
-  that we can't include `<ranges>` in multiple module units.
-  (`#61317 <https://github.com/llvm/llvm-project/issues/61317>`_)
-- Fix crash for inconsistent exported declarations in standard C++ modules.
-  (`#61321 <https://github.com/llvm/llvm-project/issues/61321>`_)
-- Fix ignoring `#pragma comment` and `#pragma detect_mismatch` directives in
-  standard C++ modules.
-  (`#61733 <https://github.com/llvm/llvm-project/issues/61733>`_)
-- Don't generate virtual tables if the class is defined in another module units
-  for Itanium ABI.
-  (`#61940 <https://github.com/llvm/llvm-project/issues/61940>`_)
-- Fix false postive check for constrained satisfaction in standard C++ modules.
-  (`#62589 <https://github.com/llvm/llvm-project/issues/62589>`_)
-- Serialize the evaluated constant values for variable declarations in standard
-  C++ modules.
-  (`#62796 <https://github.com/llvm/llvm-project/issues/62796>`_)
-- Merge lambdas in require expressions in standard C++ modules.
-  (`#63544 <https://github.com/llvm/llvm-project/issues/63544>`_)
-
-- Fix location of default member initialization in parenthesized aggregate
-  initialization.
-  (`#63903 <https://github.com/llvm/llvm-project/issues/63903>`_)
-- Fix constraint checking of non-generic lambdas.
-  (`#63181 <https://github.com/llvm/llvm-project/issues/63181>`_)
-
 Bug Fixes to AST Handling
 ^^^^^^^^^^^^^^^^^^^^^^^^^
 
-- Preserve ``namespace`` definitions that follow malformed declarations.
-
 Miscellaneous Bug Fixes
 ^^^^^^^^^^^^^^^^^^^^^^^
 
 Miscellaneous Clang Crashes Fixed
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-- Dumping the AST to JSON no longer causes a failed assertion when targetting
-  the Microsoft ABI and the AST to be dumped contains dependent names that
-  would not typically be mangled.
-  (`#61440 <https://github.com/llvm/llvm-project/issues/61440>`_)
-
 Target Specific Changes
 -----------------------
 
 AMDGPU Support
 ^^^^^^^^^^^^^^
 
-- Linking for AMDGPU now uses ``--no-undefined`` by default. This causes
-  undefined symbols in the created module to be a linker error. To prevent this,
-  pass ``-Wl,--undefined`` if compiling directly, or ``-Xoffload-linker
-  --undefined`` if using an offloading language.
-- The deprecated ``-mcode-object-v3`` and ``-mno-code-object-v3`` command-line
-  options have been removed.
-- A new option ``-mprintf-kind`` has been introduced that controls printf lowering
-  scheme. It is currently supported only for HIP and takes following values,
-  ``hostcall`` - printing happens during kernel execution via series of hostcalls,
-  The scheme requires the system to support pcie atomics.(default)
-  ``buffered`` - Scheme uses a debug buffer to populate printf varargs, does not
-  rely on pcie atomics support.
-
 X86 Support
 ^^^^^^^^^^^
 
-- Add ISA of ``AMX-COMPLEX`` which supports ``tcmmimfp16ps`` and
-  ``tcmmrlfp16ps``.
-- Support ISA of ``SHA512``.
-  * Support intrinsic of ``_mm256_sha512msg1_epi64``.
-  * Support intrinsic of ``_mm256_sha512msg2_epi64``.
-  * Support intrinsic of ``_mm256_sha512rnds2_epi64``.
-- Support ISA of ``SM3``.
-  * Support intrinsic of ``_mm_sm3msg1_epi32``.
-  * Support intrinsic of ``_mm_sm3msg2_epi32``.
-  * Support intrinsic of ``_mm_sm3rnds2_epi32``.
-- Support ISA of ``SM4``.
-  * Support intrinsic of ``_mm(256)_sm4key4_epi32``.
-  * Support intrinsic of ``_mm(256)_sm4rnds4_epi32``.
-- Support ISA of ``AVX-VNNI-INT16``.
-  * Support intrinsic of ``_mm(256)_dpwsud(s)_epi32``.
-  * Support intrinsic of ``_mm(256)_dpwusd(s)_epi32``.
-  * Support intrinsic of ``_mm(256)_dpwuud(s)_epi32``.
-- ``-march=graniterapids-d`` is now supported.
-
 Arm and AArch64 Support
 ^^^^^^^^^^^^^^^^^^^^^^^
 
-- The hard-float ABI is now available in Armv8.1-M configurations that
-  have integer MVE instructions (and therefore have FP registers) but
-  no scalar or vector floating point computation. Previously, trying
-  to select the hard-float ABI on such a target (via
-  ``-mfloat-abi=hard`` or a triple ending in ``hf``) would silently
-  use the soft-float ABI instead.
-
-- Clang builtin ``__arithmetic_fence`` and the command line option ``-fprotect-parens``
-  are now enabled for AArch64.
-
-- Clang supports flag output operands by which conditions in the NZCV could be outputs
-  of inline assembly for AArch64. This change is more consistent with the behavior of
-  GCC.
-
-   .. code-block:: c
-
-     // int a = foo(); int* b = bar();
-     asm("ands %w[a], %w[a], #3" : [a] "+r"(a), "=@cceq"(*b));
-
-- Fix a crash when ``preserve_all`` calling convention is used on AArch64.
-  `Issue 58145 <https://github.com/llvm/llvm-project/issues/58145>`_
-
 Windows Support
 ^^^^^^^^^^^^^^^
 
 LoongArch Support
 ^^^^^^^^^^^^^^^^^
 
-- Patchable function entry (``-fpatchable-function-entry``) is now supported
-  on LoongArch.
-- Unaligned memory accesses can be toggled by ``-m[no-]unaligned-access`` or the
-  aliases ``-m[no-]strict-align``.
-- Non ``$``-prefixed GPR names (e.g. ``r4`` and ``a0``) are allowed in inlineasm
-  like GCC does.
-
 RISC-V Support
 ^^^^^^^^^^^^^^
-- Added ``-mrvv-vector-bits=`` option to give an upper and lower bound on vector
-  length. Valid values are powers of 2 between 64 and 65536. A value of 32
-  should eventually be supported. We also accept "zvl" to use the Zvl*b
-  extension from ``-march`` or ``-mcpu`` to the be the upper and lower bound.
-- Fixed incorrect ABI lowering of ``_Float16`` in the case of structs
-  containing ``_Float16`` that are eligible for passing via GPR+FPR or
-  FPR+FPR.
-- Removed support for ``__attribute__((interrupt("user")))``. User-level
-  interrupts are not in version 1.12 of the privileged specification.
-- Added ``attribute(riscv_rvv_vector_bits(__riscv_v_fixed_vlen))`` to allow
-  the size of a RVV (RISC-V Vector) scalable type to be specified. This allows
-  RVV scalable vector types to be used in structs or in global variables.
-- The rules for ordering of extensions in ``-march`` strings were relaxed. A
-  canonical ordering is no longer enforced on ``z*``, ``s*``, and ``x*``
-  prefixed extensions.
 
 CUDA/HIP Language Changes
 ^^^^^^^^^^^^^^^^^^^^^^^^^
-- Clang has been updated to align its default language standard for CUDA/HIP with
-  that of C++. The standard has now been enhanced to gnu++17, supplanting the
-  previously used c++14.
 
 CUDA Support
 ^^^^^^^^^^^^
-- Clang now supports CUDA SDK up to 12.1
 
 AIX Support
 ^^^^^^^^^^^
-- Add an AIX-only link-time option, `-mxcoff-build-id=0xHEXSTRING`, to allow users
-  to embed a hex id in their binary such that it's readable by the program itself.
-  This option is an alternative to the `--build-id=0xHEXSTRING` GNU linker option
-  which is currently not supported by the AIX linker.
-
-- Introduced the ``-mxcoff-roptr`` option to place constant objects with
-  relocatable address values in the read-only data section. This option should
-  be used with the ``-fdata-sections`` option, and is not supported with
-  ``-fno-data-sections``. When ``-mxcoff-roptr`` is in effect at link time,
-  read-only data sections with relocatable address values that resolve to
-  imported symbols are made writable.
 
 WebAssembly Support
 ^^^^^^^^^^^^^^^^^^^
-- Shared library support (and PIC code generation) for WebAssembly is no longer
-  limited to the Emscripten target OS and now works with other targets such as
-  wasm32-wasi.  Note that the `format
-  <https://github.com/WebAssembly/tool-conventions/blob/main/DynamicLinking.md>`_
-  is not yet stable and may change between LLVM versions.  Also, WASI does not
-  yet have facilities to load dynamic libraries.
 
 AVR Support
 ^^^^^^^^^^^
-- The definition of ``USHRT_MAX`` in the freestanding ``<limits.h>`` no longer
-  overflows on AVR (where ``sizeof(int) == sizeof(unsigned short)``).  The type
-  of ``USHRT_MAX`` is now ``unsigned int`` instead of ``int``, as required by
-  the C standard.
 
 DWARF Support in Clang
 ----------------------
 
 Floating Point Support in Clang
 -------------------------------
-- Add ``__builtin_elementwise_log`` builtin for floating point types only.
-- Add ``__builtin_elementwise_log10`` builtin for floating point types only.
-- Add ``__builtin_elementwise_log2`` builtin for floating point types only.
-- Add ``__builtin_elementwise_exp`` builtin for floating point types only.
-- Add ``__builtin_elementwise_exp2`` builtin for floating point types only.
-- Add ``__builtin_set_flt_rounds`` builtin for X86, x86_64, Arm and AArch64 only.
-- Add ``__builtin_elementwise_pow`` builtin for floating point types only.
 
 AST Matchers
 ------------
 
-- Add ``coroutineBodyStmt`` matcher.
-
-- The ``hasBody`` matcher now matches coroutine body nodes in
-  ``CoroutineBodyStmts``.
-
-- Add ``arrayInitIndexExpr`` and ``arrayInitLoopExpr`` matchers.
-
 clang-format
 ------------
 
-- Add ``NextLineOnly`` style to option ``PackConstructorInitializers``.
-  Compared to ``NextLine`` style, ``NextLineOnly`` style will not try to
-  put the initializers on the current line first, instead, it will try to
-  put the initializers on the next line only.
-- Add additional Qualifier Ordering support for special cases such
-  as templates, requires clauses, long qualified names.
-- Fix all known issues associated with ``LambdaBodyIndentation: OuterScope``.
-- Add ``BracedInitializerIndentWidth`` which can be used to configure
-  the indentation level of the contents of braced init lists.
-- Add ``KeepEmptyLinesAtEOF`` to keep empty lines at end of file.
-- Add ``RemoveParentheses`` to remove redundant parentheses.
-- Add ``TypeNames`` to treat listed non-keyword identifiers as type names.
-- Add ``AlignConsecutiveShortCaseStatements`` which can be used to align case
-  labels in conjunction with ``AllowShortCaseLabelsOnASingleLine``.
-- Add ``SpacesInParens`` style with ``SpacesInParensOptions`` to replace
-  ``SpacesInConditionalStatement``, ``SpacesInCStyleCastParentheses``,
-  ``SpaceInEmptyParentheses``, and ``SpacesInParentheses``.
-
 libclang
 --------
 
-- Introduced the new function ``clang_CXXMethod_isExplicit``,
-  which identifies whether a constructor or conversion function cursor
-  was marked with the explicit identifier.
-
-- Introduced the new ``CXIndex`` constructor function
-  ``clang_createIndexWithOptions``, which allows storing precompiled preambles
-  in memory or overriding the precompiled preamble storage path.
-
-- Deprecated two functions ``clang_CXIndex_setGlobalOptions`` and
-  ``clang_CXIndex_setInvocationEmissionPathOption`` in favor of the new
-  function ``clang_createIndexWithOptions`` in order to improve thread safety.
-
-- Added check in ``clang_getFieldDeclBitWidth`` for whether a bit-field
-  has an evaluable bit width. Fixes undefined behavior when called on a
-  bit-field whose width depends on a template parameter.
-
-- Added ``CXBinaryOperatorKind`` and ``CXUnaryOperatorKind``.
-  (`#29138 <https://github.com/llvm/llvm-project/issues/29138>`_)
-
 Static Analyzer
 ---------------
 
-- Fix incorrect alignment attribute on the this parameter of certain
-  non-complete destructors when using the Microsoft ABI.
-  (`#60465 <https://github.com/llvm/llvm-project/issues/60465>`_)
-
-- Removed the deprecated
-  ``consider-single-element-arrays-as-flexible-array-members`` analyzer option.
-  Any use of this flag will result in an error.
-  Use `-fstrict-flex-arrays=<n>
-  <https://clang.llvm.org/docs/ClangCommandLineReference.html#cmdoption-clang-fstrict-flex-arrays>`_
-
-- Better modeling of lifetime-extended memory regions. As a result, the
-  ``MoveChecker`` raises more true-positive reports.
-
-- Fixed some bugs (including crashes) around the handling of constant global
-  arrays and their initializer expressions.
-
-- The ``CStringChecker`` will invalidate less if the copy operation is
-  inferable to be bounded. For example, if the arguments of ``strcpy`` are
-  known to be of certain lengths and that are in-bounds.
-
-   .. code-block:: c++
-
-    struct {
-      void *ptr;
-      char arr[4];
-    } x;
-    x.ptr = malloc(1);
-    // extent of 'arr' is 4, and writing "hi\n" (4 characters),
-    // thus no buffer overflow can happen
-    strcpy(x.arr, "hi\n");
-    free(x.ptr); // no longer reports memory leak here
-
-  Similarly, functions like ``strsep`` now won't invalidate the object
-  containing the destination buffer, because it can never overflow.
-  Note that, ``std::copy`` is still not modeled, and as such, it will still
-  invalidate the enclosing object on call.
-  (`#55019 <https://github.com/llvm/llvm-project/issues/55019>`_)
-
-- Implement ``BufferOverlap`` check for ``sprint``/``snprintf``
-  The ``CStringChecker`` checks for buffer overlaps for ``sprintf`` and
-  ``snprintf``.
-
-- Objective-C support was improved around checking ``_Nonnull`` and
-  ``_Nullable`` including block pointers and literal objects.
-
-- Let the ``StreamChecker`` detect ``NULL`` streams instead of by
-  ``StdCLibraryFunctions``.
-  ``StreamChecker`` improved on the ``fseek`` modeling for the ``SEEK_SET``,
-  ``SEEK_END``, ``SEEK_CUR`` arguments.
-
-- ``StdCLibraryFunctionArgs`` was merged into the ``StdCLibraryFunctions``.
-  The diagnostics of the ``StdCLibraryFunctions`` was improved.
-
-- ``QTimer::singleShot`` now doesn't raise false-positives for memory leaks by
-  the ``MallocChecker``.
-  (`#39713 <https://github.com/llvm/llvm-project/issues/39713>`_)
-
-- Fixed the infamous unsigned index false-positives in the
-  ``ArrayBoundCheckerV2`` checker.
-  (`#44493 <https://github.com/llvm/llvm-project/issues/44493>`_)
-
-- Now, taint propagations are tracked further back until the real taint source.
-  This improves all taint-related diagnostics.
-
-- Fixed a null-pointer dereference crash inside the ``MoveChecker``.
-
 .. _release-notes-sanitizers:
 
 Sanitizers
 ----------
-- Several more sanitizers are now ported to LoongArch: MSan, DFsan, Profile, XRay and libFuzzer.
 
 Python Binding Changes
 ----------------------
-The following methods have been added:
-
-- ``clang_Location_isInSystemHeader`` exposed via the ``is_in_system_header``
-  property of the `Location` class.
 
 Additional Information
 ======================

diff  --git a/flang/docs/ReleaseNotes.md b/flang/docs/ReleaseNotes.md
index abf054d5737ec0..f0c956281915f4 100644
--- a/flang/docs/ReleaseNotes.md
+++ b/flang/docs/ReleaseNotes.md
@@ -24,31 +24,11 @@ page](https://llvm.org/releases/).
 
 ## Major New Features
 
-* Flang now supports loading LLVM pass plugins with the `-fpass-plugin` option
-  which is also available in clang. The option mimics the behavior of the
-  corresponding option in clang and has the same capabilities and limitations.
-* Flang also supports statically linked LLVM pass extensions. Projects can be
-  linked statically into `flang-new` if the cmake command includes
-  `-DLLVM_${NAME}_LINK_INTO_TOOLS=ON`. This behavior is also similar to clang.
-
 ## Bug Fixes
 
 ## Non-comprehensive list of changes in this release
-* The bash wrapper script, `flang`, is renamed as `flang-to-external-fc`.
-* In contrast to Clang, Flang will not default to using `-fpie` when linking
-  executables. This is only a temporary solution and the goal is to align with
-  Clang in the near future. First, however, the frontend driver needs to be
-  extended so that it can generate position independent code (that requires
-  adding support for e.g. `-fpic` and `-mrelocation-model` in `flang-new
-  -fc1`). Once that is available, support for the `-fpie` can officially be
-  added and the default behaviour updated.
 
 ## New Compiler Flags
-* Refined how `-f{no-}color-diagnostics` is treated to better align with Clang.
-  In particular, both `-fcolor-diagnostics` and `-fno-color-diagnostics` are
-  now available in `flang-new` (the diagnostics are formatted by default). In
-  the frontend driver, `flang-new -fc1`, only `-fcolor-diagnostics` is
-  available (by default, the diagnostics are not formatted).
 
 ## Windows Support
 
@@ -65,5 +45,5 @@ Flang's documentation is located in the `flang/docs/` directory in the
 LLVM monorepo.
 
 If you have any questions or comments about Flang, please feel free to
-contact us on the [Discourse 
+contact us on the [Discourse
 forums](https://discourse.llvm.org/c/subprojects/flang/33).

diff  --git a/lld/docs/ReleaseNotes.rst b/lld/docs/ReleaseNotes.rst
index d8e34d1e6c7479..6f60efd87c975b 100644
--- a/lld/docs/ReleaseNotes.rst
+++ b/lld/docs/ReleaseNotes.rst
@@ -26,84 +26,12 @@ Non-comprehensive list of changes in this release
 ELF Improvements
 ----------------
 
-* When ``--threads=`` is not specified, the number of concurrency is now capped to 16.
-  A large ``--thread=`` can harm performance, especially with some system
-  malloc implementations like glibc's.
-  (`D147493 <https://reviews.llvm.org/D147493>`_)
-* ``--remap-inputs=`` and ``--remap-inputs-file=`` are added to remap input files.
-  (`D148859 <https://reviews.llvm.org/D148859>`_)
-* ``--lto=`` is now available to support ``clang -funified-lto``
-  (`D123805 <https://reviews.llvm.org/D123805>`_)
-* ``--lto-CGO[0-3]`` is now available to control ``CodeGenOpt::Level`` independent of the LTO optimization level.
-  (`D141970 <https://reviews.llvm.org/D141970>`_)
-* ``--check-dynamic-relocations=`` is now correct 32-bit targets when the addend is larger than 0x80000000.
-  (`D149347 <https://reviews.llvm.org/D149347>`_)
-* ``--print-memory-usage`` has been implemented for memory regions.
-  (`D150644 <https://reviews.llvm.org/D150644>`_)
-* ``SHF_MERGE``, ``--icf=``, and ``--build-id=fast`` have switched to 64-bit xxh3.
-  (`D154813 <https://reviews.llvm.org/D154813>`_)
-* Quoted output section names can now be used in linker scripts.
-  (`#60496 <https://github.com/llvm/llvm-project/issues/60496>`_)
-* ``MEMORY`` can now be used without a ``SECTIONS`` command.
-  (`D145132 <https://reviews.llvm.org/D145132>`_)
-* ``REVERSE`` can now be used in input section descriptions to reverse the order of input sections.
-  (`D145381 <https://reviews.llvm.org/D145381>`_)
-* Program header assignment can now be used within ``OVERLAY``. This functionality was accidentally lost in 2020.
-  (`D150445 <https://reviews.llvm.org/D150445>`_)
-* Operators ``^`` and ``^=`` can now be used in linker scripts.
-* LoongArch is now supported.
-* ``DT_AARCH64_MEMTAG_*`` dynamic tags are now supported.
-  (`D143769 <https://reviews.llvm.org/D143769>`_)
-* AArch32 port now supports BE-8 and BE-32 modes for big-endian.
-  (`D140201 <https://reviews.llvm.org/D140201>`_)
-  (`D140202 <https://reviews.llvm.org/D140202>`_)
-  (`D150870 <https://reviews.llvm.org/D150870>`_)
-* ``R_ARM_THM_ALU_ABS_G*`` relocations are now supported.
-  (`D153407 <https://reviews.llvm.org/D153407>`_)
-* ``.ARM.exidx`` sections may start at non-zero output section offset.
-  (`D148033 <https://reviews.llvm.org/D148033>`_)
-* Arm Cortex-M Security Extensions is now implemented.
-  (`D139092 <https://reviews.llvm.org/D139092>`_)
-* BTI landing pads are now added to PLT entries accessed by range extension thunks or relative vtables.
-  (`D148704 <https://reviews.llvm.org/D148704>`_)
-  (`D153264 <https://reviews.llvm.org/D153264>`_)
-* AArch64 short range thunk has been implemented to mitigate the performance loss of a long range thunk.
-  (`D148701 <https://reviews.llvm.org/D148701>`_)
-* ``R_AVR_8_LO8/R_AVR_8_HI8/R_AVR_8_HLO8/R_AVR_LO8_LDI_GS/R_AVR_HI8_LDI_GS`` have been implemented.
-  (`D147100 <https://reviews.llvm.org/D147100>`_)
-  (`D147364 <https://reviews.llvm.org/D147364>`_)
-* ``--no-power10-stubs`` now works for PowerPC64.
-* ``DT_PPC64_OPT`` is now supported;
-  (`D150631 <https://reviews.llvm.org/D150631>`_)
-* ``PT_RISCV_ATTRIBUTES`` is added to include the SHT_RISCV_ATTRIBUTES section.
-  (`D152065 <https://reviews.llvm.org/D152065>`_)
-* ``R_RISCV_PLT32`` is added to support C++ relative vtables.
-  (`D143115 <https://reviews.llvm.org/D143115>`_)
-* RISC-V global pointer relaxation has been implemented. Specify ``--relax-gp`` to enable the linker relaxation.
-  (`D143673 <https://reviews.llvm.org/D143673>`_)
-* The symbol value of ``foo`` is correctly handled when ``--wrap=foo`` and RISC-V linker relaxation are used.
-  (`D151768 <https://reviews.llvm.org/D151768>`_)
-* x86-64 large data sections are now placed away from code sections to alleviate relocation overflow pressure.
-  (`D150510 <https://reviews.llvm.org/D150510>`_)
-
 Breaking changes
 ----------------
 
 COFF Improvements
 -----------------
 
-* lld-link can now find libraries with relative paths that are relative to
-  `/libpath`. Before it would only be able to find libraries relative to the
-  current directory.
-  I.e. ``lld-link /libpath:c:\relative\root relative\path\my.lib`` where before
-  we would have to do ``lld-link /libpath:c:\relative\root\relative\path my.lib``
-* lld-link learned -print-search-paths that will print all the paths where it will
-  search for libraries.
-* By default lld-link will now search for libraries in the toolchain directories.
-  Specifically it will search:
-  ``<toolchain>/lib``, ``<toolchain>/lib/clang/<version>/lib`` and
-  ``<toolchain>/lib/clang/<version>/lib/windows``.
-
 MinGW Improvements
 ------------------
 
@@ -115,7 +43,3 @@ WebAssembly Improvements
 
 Fixes
 #####
-
-* Arm exception index tables (.ARM.exidx sections) are now output
-  correctly when they are at a non zero offset within their output
-  section. (`D148033 <https://reviews.llvm.org/D148033>`_)

diff  --git a/llvm/docs/ReleaseNotes.rst b/llvm/docs/ReleaseNotes.rst
index a1ca57e9a7db72..9bb824fc6c340e 100644
--- a/llvm/docs/ReleaseNotes.rst
+++ b/llvm/docs/ReleaseNotes.rst
@@ -47,131 +47,26 @@ Non-comprehensive list of changes in this release
 Update on required toolchains to build LLVM
 -------------------------------------------
 
-With LLVM 17.x we raised the version requirement of CMake used to build LLVM.
-The new requirements are as follows:
-
-* CMake >= 3.20.0
-
 Changes to the LLVM IR
 ----------------------
 
-* Typed pointers are no longer supported and the ``-opaque-pointers`` option
-  has been removed. See the `opaque pointers <OpaquePointers.html>`__
-  documentation for migration instructions.
-
-* The ``nofpclass`` attribute was introduced. This allows more
-  optimizations around special floating point value comparisons.
-
-* Introduced new ``llvm.ldexp`` and ``llvm.experimental.constrained.ldexp`` intrinsics.
-
-* Introduced new ``llvm.frexp`` intrinsic.
-
-* The constant expression variants of the following instructions have been
-  removed:
-
-  * ``select``
-
-* Introduced a set of experimental `convergence control intrinsics
-  <ConvergentOperations.html>`__ to explicitly define the semantics of convergent
-  operations.
-
 Changes to LLVM infrastructure
 ------------------------------
 
-* The legacy optimization pipeline has been removed.
-
-* Alloca merging in the inliner has been removed, since it only worked with the
-  legacy inliner pass. Backend stack coloring should handle cases alloca
-  merging initially set out to handle.
-
-* InstructionSimplify APIs now require instructions be inserted into a
-  parent function.
-
-* A new FatLTO pipeline was added to support generating object files that have
-  both machine code and LTO compatible bitcode. See the :doc:`FatLTO`
-  documentation and the original
-  `RFC  <https://discourse.llvm.org/t/rfc-ffat-lto-objects-support/63977>`_
-  for more details.
-
 Changes to building LLVM
 ------------------------
 
 Changes to TableGen
 -------------------
 
-* Named arguments are supported. Arguments can be specified in the form of
-  ``name=value``.
-
 Changes to Interprocedural Optimizations
 ----------------------------------------
 
 Changes to the AArch64 Backend
 ------------------------------
 
-* Added Assembly Support for the 2022 A-profile extensions FEAT_GCS (Guarded
-  Control Stacks), FEAT_CHK (Check Feature Status), and FEAT_ATS1A.
-* Support for preserve_all calling convention is added.
-* Added support for missing arch extensions in the assembly directives
-  ``.arch <level>+<ext>`` and ``.arch_extension``.
-* Fixed handling of ``.arch <level>`` in assembly, without using any ``+<ext>``
-  suffix. Previously this had no effect at all if no extensions were supplied.
-  Now ``.arch <level>`` can be used to enable all the extensions that are
-  included in a higher level than what is specified on the command line,
-  or for disabling unwanted extensions if setting it to a lower level.
-  This fixes `PR32873 <https://github.com/llvm/llvm-project/issues/32220>`.
-
 Changes to the AMDGPU Backend
 -----------------------------
-* More fine-grained synchronization around barriers for newer architectures
-  (gfx90a+, gfx10+). The AMDGPU backend now omits previously automatically
-  generated waitcnt instructions before barriers, allowing for more precise
-  control. Users must now use memory fences to implement fine-grained
-  synchronization strategies around barriers. Refer to `AMDGPU memory model
-  <AMDGPUUsage.html#memory-model>`__.
-
-* Address space 7, used for *buffer fat pointers* has been added.
-  It is non-integral and has 160-bit pointers (a 128-bit raw buffer resource and a
-  32-bit offset) and 32-bit indices. This is part of ongoing work to improve
-  the usability of buffer operations. Refer to `AMDGPU address spaces
-  <AMDGPUUsage.html#address-spaces>`__.
-
-* Address space 8, used for *buffer resources* has been added.
-  It is non-integral and has 128-bit pointers, which correspond to buffer
-  resources in the underlying hardware. These pointers should not be used with
-  `getelementptr` or other LLVM memory instructions, and can be created with
-  the `llvm.amdgcn.make.buffer.rsrc` intrinsic. Refer to `AMDGPU address spaces
-  <AMDGPUUsage.html#address_spaces>`__.
-
-* New versions of the intrinsics for working with buffer resources have been added.
-  These `llvm.amdgcn.*.ptr.[t]buffer.*` intrinsics have the same semantics as
-  the old `llvm.amdgcn.*.[t]buffer.*` intrinsics, except that their `rsrc`
-  arguments are represented by a `ptr addrspace(8)` instead of a `<4 x i32>`. This
-  improves the interaction between AMDGPU buffer operations and the LLVM memory
-  model, and so the non `.ptr` intrinsics are deprecated.
-
-* Removed ``llvm.amdgcn.atomic.inc`` and ``llvm.amdgcn.atomic.dec``
-  intrinsics. :ref:`atomicrmw <i_atomicrmw>` should be used instead
-  with ``uinc_wrap`` and ``udec_wrap``.
-
-* Added llvm.amdgcn.log.f32 intrinsic. This provides direct access to
-  v_log_f32.
-
-* Added llvm.amdgcn.exp2.f32 intrinsic. This provides direct access to
-  v_exp_f32.
-
-* llvm.log2.f32, llvm.log10.f32, and llvm.log.f32 are now lowered
-  accurately. Use llvm.amdgcn.log.f32 to access the old behavior for
-  llvm.log2.f32.
-
-* llvm.exp2.f32 and llvm.exp.f32 are now lowered accurately. Use
-  llvm.amdgcn.exp2.f32 to access the old behavior for llvm.exp2.f32.
-
-* Implemented new 1ulp IEEE lowering strategy for float reciprocal
-  which saves 2 instructions. This is used by default for OpenCL on
-  gfx9+. With ``contract`` flags, this will fold into a 1 ulp rsqrt.
-
-* Implemented new 2ulp IEEE lowering strategy for float
-  reciprocal. This is used by default for OpenCL on gfx9+.
 
 * `llvm.sqrt.f64` is now lowered correctly. Use `llvm.amdgcn.sqrt.f64`
   for raw instruction access.
@@ -179,134 +74,36 @@ Changes to the AMDGPU Backend
 Changes to the ARM Backend
 --------------------------
 
-- The hard-float ABI is now available in Armv8.1-M configurations that
-  have integer MVE instructions (and therefore have FP registers) but
-  no scalar or vector floating point computation.
-
-- The ``.arm`` directive now aligns code to the next 4-byte boundary, and
-  the ``.thumb`` directive aligns code to the next 2-byte boundary.
-
 Changes to the AVR Backend
 --------------------------
 
-* ...
-
 Changes to the DirectX Backend
 ------------------------------
 
 Changes to the Hexagon Backend
 ------------------------------
 
-* ...
-
 Changes to the LoongArch Backend
 --------------------------------
 
-* Adds assembler/disassembler support for the LSX, LASX, LVZ and LBT ISA extensions.
-* The ``lp64s`` ABI is supported now and has been tested on Rust bare-matal target.
-* A target feature ``ual`` is introduced to allow unaligned memory accesses and
-  this feature is enabled by default for generic 64-bit processors.
-* Adds support for the ``large`` code model, which is equivalent to GCC's ``extreme`` one.
-* Assorted codegen improvements.
-* llvm-objcopy now supports processing LoongArch objects.
-
 Changes to the MIPS Backend
 ---------------------------
 
-* ...
-
 Changes to the PowerPC Backend
 ------------------------------
 
-* A new option ``-mxcoff-roptr`` is added to ``clang`` and ``llc``. When this
-  option is present, constant objects with relocatable address values are put
-  into the RO data section. This option should be used with the ``-fdata-sections``
-  option, and is not supported with ``-fno-data-sections``. The option is
-  only supported on AIX.
-* On AIX, teach the profile runtime to check for a build-id string; such string
-  can be created by the -mxcoff-build-id option.
-* Removed ``-ppc-quadword-atomics`` which only affected lock-free quadword
-  atomics on AIX. Now backend generates lock-free quadword atomics code on AIX
-  by default. To support lock-free quadword atomics in libatomic, the OS level
-  must be at least AIX 7.2 TL5 SP3 with libc++.rte of version 17.1.1 or above
-  installed.
-
 Changes to the RISC-V Backend
 -----------------------------
 
-* Assembler support for version 1.0.1 of the Zcb extension was added.
-* Zca, Zcf, and Zcd extensions were upgraded to version 1.0.1.
-* vsetvli intrinsics no longer have side effects. They may now be combined,
-  moved, deleted, etc. by optimizations.
-* Adds support for the vendor-defined XTHeadBa (address-generation) extension.
-* Adds support for the vendor-defined XTHeadBb (basic bit-manipulation) extension.
-* Adds support for the vendor-defined XTHeadBs (single-bit) extension.
-* Adds support for the vendor-defined XTHeadCondMov (conditional move) extension.
-* Adds support for the vendor-defined XTHeadMac (multiply-accumulate instructions) extension.
-* Added support for the vendor-defined XTHeadMemPair (two-GPR memory operations)
-  extension disassembler/assembler.
-* Added support for the vendor-defined XTHeadMemIdx (indexed memory operations)
-  extension disassembler/assembler.
-* Added support for the vendor-defined Xsfvcp (SiFive VCIX) extension
-  disassembler/assembler.
-* Added support for the vendor-defined Xsfcie (SiFive CIE) extension
-  disassembler/assembler.
-* Support for the now-ratified Zawrs extension is no longer experimental.
-* Adds support for the vendor-defined XTHeadCmo (cache management operations) extension.
-* Adds support for the vendor-defined XTHeadSync (multi-core synchronization instructions) extension.
-* Added support for the vendor-defined XTHeadFMemIdx (indexed memory operations for floating point) extension.
-* Assembler support for RV64E was added.
-* Assembler support was added for the experimental Zicond (integer conditional
-  operations) extension.
-* I, F, D, and A extension versions have been update to the 20191214 spec versions.
-  New version I2.1, F2.2, D2.2, A2.1. This should not impact code generation.
-  Immpacts versions accepted in ``-march`` and reported in ELF attributes.
-* Changed the ShadowCallStack register from ``x18`` (``s2``) to ``x3``
-  (``gp``). Note this breaks the existing non-standard ABI for ShadowCallStack
-  on RISC-V, but conforms with the new "platform register" defined in the
-  RISC-V psABI (for more details see the
-  `psABI discussion <https://github.com/riscv-non-isa/riscv-elf-psabi-doc/issues/370>`_).
-* Added support for Zfa extension version 0.2.
-* Updated support experimental vector crypto extensions to version 0.5.1 of
-  the specification.
-* Removed N extension (User-Level Interrupts) CSR names in the assembler.
-* ``RISCV::parseCPUKind`` and ``RISCV::checkCPUKind`` were merged into a single
-  ``RISCV::parseCPU``. The ``CPUKind`` enum is no longer part of the
-  RISCVTargetParser.h interface. Similar for ``parseTuneCPUkind`` and
-  ``checkTuneCPUKind``.
-* Add sifive-x280 processor.
-* Zve32f is no longer allowed with Zfinx. Zve64d is no longer allowed with
-  Zdinx.
-* Assembly support was added for the experimental Zfbfmin (scalar BF16
-  conversions), Zvfbfmin (vector BF16 conversions), and Zvfbfwma (vector BF16
-  widening mul-add) extensions.
-* Added assembler/disassembler support for the experimental Zacas (atomic
-  compare-and-swap) extension.
-* Zvfh extension version was upgraded to 1.0 and is no longer experimental.
-
 Changes to the WebAssembly Backend
 ----------------------------------
 
-* Function annotations (``__attribute__((annotate(<name>)))``)
-  now generate custom sections in the Wasm output file. A custom section
-  for each unique name will be created that contains each function
-  index the annotation applies to.
-
 Changes to the Windows Target
 -----------------------------
 
 Changes to the X86 Backend
 --------------------------
 
-* ``__builtin_unpredictable`` (unpredictable metadata in LLVM IR), is handled by X86 Backend.
-  ``X86CmovConversion`` pass now respects this builtin and does not convert CMOVs to branches.
-* Add support for the ``PBNDKB`` instruction.
-* Support ISA of ``SHA512``.
-* Support ISA of ``SM3``.
-* Support ISA of ``SM4``.
-* Support ISA of ``AVX-VNNI-INT16``.
-* ``-mcpu=graniterapids-d`` is now supported.
-
 Changes to the OCaml bindings
 -----------------------------
 
@@ -319,112 +116,27 @@ Changes to the Python bindings
 Changes to the C API
 --------------------
 
-* ``LLVMContextSetOpaquePointers``, a temporary API to pin to legacy typed
-  pointer, has been removed.
-* Functions for adding legacy passes like ``LLVMAddInstructionCombiningPass``
-  have been removed.
-* Removed ``LLVMPassManagerBuilderRef`` and functions interacting with it.
-  These belonged to the no longer supported legacy pass manager.
-* Functions for initializing legacy passes like ``LLVMInitializeInstCombine``
-  have been removed. Calls to such functions can simply be dropped, as they are
-  no longer necessary.
-* ``LLVMPassRegistryRef`` and ``LLVMGetGlobalPassRegistry``, which were only
-  useful in conjunction with initialization functions, have been removed.
-* As part of the opaque pointer transition, ``LLVMGetElementType`` no longer
-  gives the pointee type of a pointer type.
-* The following functions for creating constant expressions have been removed,
-  because the underlying constant expressions are no longer supported. Instead,
-  an instruction should be created using the ``LLVMBuildXYZ`` APIs, which will
-  constant fold the operands if possible and create an instruction otherwise:
-
-  * ``LLVMConstSelect``
-
 Changes to the CodeGen infrastructure
 -------------------------------------
 
-* ``llvm.memcpy``, ``llvm.memmove`` and ``llvm.memset`` are now
-  expanded into loops by default for targets which do not report the
-  corresponding library function is available.
-
 Changes to the Metadata Info
 ---------------------------------
 
 Changes to the Debug Info
 ---------------------------------
 
-* The DWARFv5 feature of attaching ``DW_AT_default_value`` to defaulted template
-  parameters will now be available in any non-strict DWARF mode and in a wider
-  range of cases than previously.
-  (`D139953 <https://reviews.llvm.org/D139953>`_,
-  `D139988 <https://reviews.llvm.org/D139988>`_)
-
-* The ``DW_AT_name`` on ``DW_AT_typedef``\ s for alias templates will now omit
-  defaulted template parameters. (`D142268 <https://reviews.llvm.org/D142268>`_)
-
-* The experimental ``@llvm.dbg.addr`` intrinsic has been removed (`D144801
-  <https://reviews.llvm.org/D144801>`_). IR inputs with this intrinsic are
-  auto-upgraded to ``@llvm.dbg.value`` with ``DW_OP_deref`` appended to the
-  ``DIExpression`` (`D144793 <https://reviews.llvm.org/D144793>`_).
-
-* When a template class annotated with the ``[[clang::preferred_name]]`` attribute
-  were to appear in a ``DW_AT_type``, the type will now be that of the preferred_name
-  instead. This change is only enabled when compiling with `-glldb`.
-  (`D145803 <https://reviews.llvm.org/D145803>`_)
-
 Changes to the LLVM tools
 ---------------------------------
-* llvm-lib now supports the /def option for generating a Windows import library from a definition file.
-
-* Made significant changes to JSON output format of `llvm-readobj`/`llvm-readelf`
-  to improve correctness and clarity.
 
 Changes to LLDB
 ---------------------------------
 
-* In the results of commands such as ``expr`` and ``frame var``, type summaries will now
-  omit defaulted template parameters. The full template parameter list can still be
-  viewed with ``expr --raw-output``/``frame var --raw-output``. (`D141828 <https://reviews.llvm.org/D141828>`_)
-
-* LLDB is now able to show the subtype of signals found in a core file. For example
-  memory tagging specific segfaults such as ``SIGSEGV: sync tag check fault``.
-
-* LLDB can now display register fields if they are described in target XML sent
-  by a debug server such as ``gdbserver`` (``lldb-server`` does not currently produce
-  this information). Fields are only printed when reading named registers, for
-  example ``register read cpsr``. They are not shown when reading a register set,
-  ``register read -s 0``.
-
-* A new command ``register info`` was added. This command will tell you everything that
-  LLDB knows about a register. Based on what LLDB already knows and what the debug
-  server tells it. Including but not limited to, the size, where it is read from and
-  the fields that the register contains.
-
 Changes to Sanitizers
 ---------------------
-* For Darwin users that override weak symbols, note that the dynamic linker will
-  only consider symbols in other mach-o modules which themselves contain at
-  least one weak symbol. A consequence is that if your program or dylib contains
-  an intended override of a weak symbol, then it must contain at least one weak
-  symbol as well for the override to take effect.
-
-  Example:
-
-  .. code-block:: c
-
-    // Add this to make sure your override takes effect
-    __attribute__((weak,unused)) unsigned __enableOverrides;
-
-    // Example override
-    extern "C" const char *__asan_default_options() { ... }
 
 Other Changes
 -------------
 
-* ``llvm::demangle`` now takes a ``std::string_view`` rather than a
-  ``const std::string&``. Be careful passing temporaries into
-  ``llvm::demangle`` that don't outlive the expression using
-  ``llvm::demangle``.
-
 External Open Source Projects Using LLVM 15
 ===========================================
 

diff  --git a/openmp/docs/ReleaseNotes.rst b/openmp/docs/ReleaseNotes.rst
index 5a89ee6de7205d..3eeaf5c900d800 100644
--- a/openmp/docs/ReleaseNotes.rst
+++ b/openmp/docs/ReleaseNotes.rst
@@ -19,13 +19,3 @@ from the `LLVM releases web site <https://llvm.org/releases/>`_.
 
 Non-comprehensive list of changes in this release
 =================================================
-
-- Removed the "old" device plugins along with support for the ``remote`` and
-  ``ve`` plugins
-- Added basic experimental support for ``libc`` functions on the GPU via the
-  `LLVM C Library for GPUs <https://libc.llvm.org/gpu/>`_.
-- Added minimal support for calling host functions from the device using the
-  ``libc`` interface, see this `example
-  <https://github.com/llvm/llvm-project/blob/main/openmp/libomptarget/test/libc/host_call.c>`_.
-- Fixed the implementation of ``omp_get_wtime`` for AMDGPU targets.
-- Added vendor agnostic OMPT callback support for OpenMP-based device offload.

diff  --git a/polly/docs/ReleaseNotes.rst b/polly/docs/ReleaseNotes.rst
index 691b6e6f45b774..f7c9689089be27 100644
--- a/polly/docs/ReleaseNotes.rst
+++ b/polly/docs/ReleaseNotes.rst
@@ -11,15 +11,3 @@ In Polly |version| the following important changes have been incorporated.
     the new features that have recently been committed to our development
     branch.
 
-
-- Support for -polly-vectorizer=polly has been removed. Polly's internal
-  vectorizer is not well maintained and is known to not work in some cases
-  such as region ScopStmts. Unlike LLVM's LoopVectorize pass it also does
-  not have a target-dependent cost heuristics, and we recommend using
-  LoopVectorize instead of -polly-vectorizer=polly.
-
-  In the future we hope that Polly can collaborate better with LoopVectorize,
-  like Polly marking a loop is safe to vectorize with a specific simd width,
-  instead of replicating its functionality.
-
-- Polly-ACC has been removed.

diff  --git a/pstl/docs/ReleaseNotes.rst b/pstl/docs/ReleaseNotes.rst
index 804e2a5013d2df..61bee0848536bd 100644
--- a/pstl/docs/ReleaseNotes.rst
+++ b/pstl/docs/ReleaseNotes.rst
@@ -1,5 +1,5 @@
 =======================================
-PSTL 17.0.0 (In-Progress) Release Notes
+PSTL 18.0.0 (In-Progress) Release Notes
 =======================================
 
 .. contents::
@@ -30,7 +30,7 @@ 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/>`_.
 
-What's New in PSTL 17.0.0?
+What's New in PSTL 18.0.0?
 ==========================
 
 New Features


        


More information about the cfe-commits mailing list