[clang] [llvm] [AArch64][FMV] Add missing feature dependencies and detect at runtime. (PR #119231)
Sander de Smalen via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 10 05:26:55 PST 2024
================
@@ -61,13 +61,13 @@ unsigned AArch64::getFMVPriority(ArrayRef<StringRef> Features) {
return Priority + MaxFMVPriority * NumFeatures;
}
-uint64_t AArch64::getCpuSupportsMask(ArrayRef<StringRef> FeatureStrs) {
- uint64_t FeaturesMask = 0;
- for (const StringRef &FeatureStr : FeatureStrs) {
- if (auto Ext = parseFMVExtension(FeatureStr))
- FeaturesMask |= (1ULL << Ext->Bit);
- }
- return FeaturesMask;
+uint64_t AArch64::getCpuSupportsMask(ArrayRef<StringRef> Features) {
+ ExtensionSet FeatureBits;
+ for (StringRef Feature : Features)
+ if (auto Ext = parseFMVExtension(Feature))
----------------
sdesmalen-arm wrote:
Can you give an example where `ID` would not be set? Are those user-level features that have no underlying LLVM target feature?
nit: this shouldn't use `auto` because it's not clear from the context what the type is.
https://github.com/llvm/llvm-project/pull/119231
More information about the llvm-commits
mailing list