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