Skip to content

Commit 78729e5

Browse files
authored
[FMV][AArch64] Release notes for LLVM20. (#125525)
1 parent d8cec6d commit 78729e5

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

clang/docs/ReleaseNotes.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -654,6 +654,10 @@ Attribute Changes in Clang
654654

655655
- The ``target_version`` attribute is now only supported for AArch64 and RISC-V architectures.
656656

657+
- When targeting AArch64, a function declaration annotated with ``target_version("default")``
658+
now generates a mangled default version of the function, whereas before at least one more
659+
version other than the default was required to trigger Function Multi Versioning.
660+
657661
- Clang now permits the usage of the placement new operator in ``[[msvc::constexpr]]``
658662
context outside of the std namespace. (#GH74924)
659663

@@ -1188,6 +1192,9 @@ Arm and AArch64 Support
11881192

11891193
* FUJITSU-MONAKA (fujitsu-monaka)
11901194

1195+
- Runtime detection of depended-on Function Multi Versioning features has been added
1196+
in accordance with the Arm C Language Extensions (ACLE).
1197+
11911198
Android Support
11921199
^^^^^^^^^^^^^^^
11931200

llvm/docs/ReleaseNotes.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,10 @@ Changes to building LLVM
130130
Changes to TableGen
131131
-------------------
132132

133+
* The ARMTargetDefEmitter now binds Funtion Multi Versioning features to the
134+
corresponding AArch64 Architecture Extensions such that their dependencies
135+
can be autogenerated using TableGen.
136+
133137
Changes to Interprocedural Optimizations
134138
----------------------------------------
135139

@@ -431,9 +435,19 @@ Changes to the C API
431435
Changes to the CodeGen infrastructure
432436
-------------------------------------
433437

438+
* GlobalOpt can now statically resolve calls to multi-versioned functions when targeting AArch64.
439+
These calls would otherwise be routed through an IFunc resolver function. This optimization
440+
can be applied when the caller is either a multi-versioned function itself, or it is compiled
441+
with a sufficiently high set of architecture features (including the `target` attribute, and
442+
command line options).
443+
434444
Changes to the Metadata Info
435445
---------------------------------
436446

447+
* Multi-versioned functions targeting AArch64 are annotated with new metadata named `fmv-features`.
448+
The metadata string value consists of a comma-separated list of Function Multi Versioning feature
449+
names as defined in the Arm C Language Extensions (ACLE).
450+
437451
Changes to the Debug Info
438452
---------------------------------
439453

0 commit comments

Comments
 (0)