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

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon Feb 3 08:08:31 PST 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang

Author: Alexandros Lamprineas (labrinea)

<details>
<summary>Changes</summary>



---
Full diff: https://github.com/llvm/llvm-project/pull/125525.diff


2 Files Affected:

- (modified) clang/docs/ReleaseNotes.rst (+7) 
- (modified) llvm/docs/ReleaseNotes.md (+14) 


``````````diff
diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index 53534d821b2c9a9..b23963c8e611a1a 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 e0acb8f48c5b940..db9a681ebe2bc57 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
 ---------------------------------
 

``````````

</details>


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


More information about the llvm-branch-commits mailing list