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

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Feb 5 17:27:39 PST 2025


Author: Alexandros Lamprineas
Date: 2025-02-05T17:27:35-08:00
New Revision: 78729e5ae25e92354654c70cb9d91c3cb7e05bba

URL: https://github.com/llvm/llvm-project/commit/78729e5ae25e92354654c70cb9d91c3cb7e05bba
DIFF: https://github.com/llvm/llvm-project/commit/78729e5ae25e92354654c70cb9d91c3cb7e05bba.diff

LOG: [FMV][AArch64] Release notes for LLVM20. (#125525)

Added: 
    

Modified: 
    clang/docs/ReleaseNotes.rst
    llvm/docs/ReleaseNotes.md

Removed: 
    


################################################################################
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
 ---------------------------------
 


        


More information about the llvm-branch-commits mailing list