================
@@ -8001,6 +8007,22 @@ void Sema::checkCall(NamedDecl *FDecl, const 
FunctionProtoType *Proto,
       }
     }
 
+    // SME functions may require SVE to be available for unwinding, as the
+    // value of VG needs to be preserved across streaming-mode changes.
+    if (CallerFD && (!FD || !FD->getBuiltinID()) &&
+        !Context.getTargetInfo().hasFeature("sve")) {
+      if (CallerFD->hasAttr<ArmLocallyStreamingAttr>())
+        Diag(Loc, diag::warn_sme_locally_streaming_no_sve);
+
+        auto CallerStreamingTy = getArmStreamingFnType(CallerFD);
----------------
kmclaughlin-arm wrote:

Fixed in latest commit

https://github.com/llvm/llvm-project/pull/83301
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to