File tree Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -654,6 +654,10 @@ Attribute Changes in Clang
654
654
655
655
- The ``target_version `` attribute is now only supported for AArch64 and RISC-V architectures.
656
656
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
+
657
661
- Clang now permits the usage of the placement new operator in ``[[msvc::constexpr]] ``
658
662
context outside of the std namespace. (#GH74924)
659
663
@@ -1188,6 +1192,9 @@ Arm and AArch64 Support
1188
1192
1189
1193
* FUJITSU-MONAKA (fujitsu-monaka)
1190
1194
1195
+ - Runtime detection of depended-on Function Multi Versioning features has been added
1196
+ in accordance with the Arm C Language Extensions (ACLE).
1197
+
1191
1198
Android Support
1192
1199
^^^^^^^^^^^^^^^
1193
1200
Original file line number Diff line number Diff line change @@ -130,6 +130,10 @@ Changes to building LLVM
130
130
Changes to TableGen
131
131
-------------------
132
132
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
+
133
137
Changes to Interprocedural Optimizations
134
138
----------------------------------------
135
139
@@ -431,9 +435,19 @@ Changes to the C API
431
435
Changes to the CodeGen infrastructure
432
436
-------------------------------------
433
437
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
+
434
444
Changes to the Metadata Info
435
445
---------------------------------
436
446
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
+
437
451
Changes to the Debug Info
438
452
---------------------------------
439
453
You can’t perform that action at this time.
0 commit comments