[llvm-branch-commits] [clang] [llvm] [FMV][AArch64] Release notes for LLVM20. (PR #125525)

Alexandros Lamprineas via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon Feb 3 08:07:29 PST 2025


https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/125525

None

>From 1e9a503b62b690e4615979e1363d17dd3adffca4 Mon Sep 17 00:00:00 2001
From: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: Mon, 3 Feb 2025 15:57:41 +0000
Subject: [PATCH] [FMV][AArch64] Release notes for LLVM20.

---
 clang/docs/ReleaseNotes.rst |  7 +++++++
 llvm/docs/ReleaseNotes.md   | 14 ++++++++++++++
 2 files changed, 21 insertions(+)

diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index 53534d821b2c9a..b23963c8e611a1 100644
--- a/clang/docs/ReleaseNotes.rst
+++ b/clang/docs/ReleaseNotes.rst
@@ -654,6 +654,10 @@ Attribute Changes in Clang
 
 - The ``target_version`` attribute is now only supported for AArch64 and RISC-V architectures.
 
+- When targeting AArch64, a function declaration annotated with ``target_version("default")``
+  now generates a mangled default version of the function, whereas before at least one more
+  version other than the default was required to trigger Function Multi Versioning.
+
 - Clang now permits the usage of the placement new operator in ``[[msvc::constexpr]]``
   context outside of the std namespace. (#GH74924)
 
@@ -1188,6 +1192,9 @@ Arm and AArch64 Support
 
   * FUJITSU-MONAKA (fujitsu-monaka)
 
+- Runtime detection of depended-on Function Multi Versioning features has been added
+  in accordance with the Arm C Language Extensions (ACLE).
+
 Android Support
 ^^^^^^^^^^^^^^^
 
diff --git a/llvm/docs/ReleaseNotes.md b/llvm/docs/ReleaseNotes.md
index e0acb8f48c5b94..db9a681ebe2bc5 100644
--- a/llvm/docs/ReleaseNotes.md
+++ b/llvm/docs/ReleaseNotes.md
@@ -130,6 +130,10 @@ Changes to building LLVM
 Changes to TableGen
 -------------------
 
+* The ARMTargetDefEmitter now binds Funtion Multi Versioning features to the
+  corresponding AArch64 Architecture Extensions such that their dependencies
+  can be autogenerated using TableGen.
+
 Changes to Interprocedural Optimizations
 ----------------------------------------
 
@@ -431,9 +435,19 @@ Changes to the C API
 Changes to the CodeGen infrastructure
 -------------------------------------
 
+* GlobalOpt can now statically resolve calls to multi-versioned functions when targeting AArch64.
+  These calls would otherwise be routed through an IFunc resolver function. This optimization
+  can be applied when the caller is either a multi-versioned function itself, or it is compiled
+  with a sufficiently high set of architecture features (including the `target` attribute, and
+  command line options).
+
 Changes to the Metadata Info
 ---------------------------------
 
+* Multi-versioned functions targeting AArch64 are annotated with new metadata named `fmv-features`.
+  The metadata string value consists of a comma-separated list of Function Multi Versioning feature
+  names as defined in the Arm C Language Extensions (ACLE).
+
 Changes to the Debug Info
 ---------------------------------
 



More information about the llvm-branch-commits mailing list