[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