================
@@ -340,14 +340,22 @@ void AArch64::ExtensionSet::disable(ArchExtKind E) {
disable(Dep.Later);
}
+static void setEnableIfMandatory(AArch64::ExtensionSet &Exts,
+ AArch64::ExtensionInfo E) {
+ if (Exts.BaseArch->DefaultExts.test(E.ID))
+ Exts.Enabled.set(E.ID);
+}
+
void AArch64::ExtensionSet::addCPUDefaults(const CpuInfo &CPU) {
LLVM_DEBUG(llvm::dbgs() << "addCPUDefaults(" << CPU.Name << ")\n");
BaseArch = &CPU.Arch;
AArch64::ExtensionBitset CPUExtensions = CPU.getImpliedExtensions();
- for (const auto &E : Extensions)
+ for (const auto &E : Extensions) {
if (CPUExtensions.test(E.ID))
enable(E.ID);
+ setEnableIfMandatory(*this, E);
----------------
tommat01 wrote:
It's a bit odd to pass a reference to `*this` rather than making it a member of
`ExtensionSet`
https://github.com/llvm/llvm-project/pull/203458
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits