[clang] [AArch64] Bump default CPUs for iOS 26/watchOS 26 to A12/S6. (PR #152235)

Ahmed Bougacha via cfe-commits cfe-commits at lists.llvm.org
Wed Aug 6 10:15:57 PDT 2025


================
@@ -52,6 +52,22 @@ std::string aarch64::getAArch64TargetCPU(const ArgList &Args,
     return "apple-m1";
   }
 
+  if (Triple.getOS() == llvm::Triple::IOS) {
+    assert(!Triple.isSimulatorEnvironment() && "iossim should be mac-like");
+    // iOS 26 only runs on apple-a12 and later CPUs.
+    if (!Triple.isOSVersionLT(26))
+      return "apple-a12";
+  }
----------------
ahmedbougacha wrote:

Related: at some point we discussed having a way of describing default function attributes in a module (e.g., using module flags), for cases where functions are generated later that IRGen, in the IR pipeline.  Of course I can't find any links anymore, but I'd expect those to have another (frontend-IRGen'd) function to use as a template.  Of course one can imagine some hypothetical transform where that isn't true ;)

https://github.com/llvm/llvm-project/pull/152235


More information about the cfe-commits mailing list