================
@@ -814,6 +820,43 @@ Address AArch64ABIInfo::EmitMSVAArg(CodeGenFunction &CGF,
Address VAListAddr,
/*allowHigherAlign*/ false);
}
+static bool isStreaming(const FunctionDecl *F) {
+ if (F->hasAttr<ArmLocallyStreamingAttr>())
+ return true;
+ if (const auto *T = F->getType()->getAs<FunctionProtoType>())
+ return T->getAArch64SMEAttributes() &
FunctionType::SME_PStateSMEnabledMask;
+ return false;
+}
+
+static bool isStreamingCompatible(const FunctionDecl *F) {
+ if (const auto *T = F->getType()->getAs<FunctionProtoType>())
+ return T->getAArch64SMEAttributes() &
+ FunctionType::SME_PStateSMCompatibleMask;
+ return false;
+}
----------------
sdesmalen-arm wrote:
Yes it makes sense to create a single interface for these and remove any
duplicates!
I think we'll want to have two interfaces:
* One for QualType for the type attributes (declared in AST/Type.h?)
* One for FunctionDecl that also checks the declaration attributes (declared in
AST/Decl.h?)
I'm happy for it to be done as part of this patch or as a follow-up to keep
this patch simpler.
https://github.com/llvm/llvm-project/pull/77936
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits