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.lamprin...@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 --------------------------------- _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits