aboutsummaryrefslogtreecommitdiff
path: root/clang/utils
diff options
context:
space:
mode:
authorSam Tebbs <samuel.tebbs@arm.com>2024-01-04 16:50:31 +0000
committerGitHub <noreply@github.com>2024-01-04 16:50:31 +0000
commit8f8152091cae186b35f73331df13f36b0f905eb4 (patch)
treec1cac132c44b72ed2006fc9dfb72ee0ac07bbbb7 /clang/utils
parent569ec185f5dc4a9e4a239948191977ecc2b2b475 (diff)
downloadllvm-8f8152091cae186b35f73331df13f36b0f905eb4.zip
llvm-8f8152091cae186b35f73331df13f36b0f905eb4.tar.gz
llvm-8f8152091cae186b35f73331df13f36b0f905eb4.tar.bz2
[Clang][SME] Add IsStreamingOrSVE2p1 (#75958)
This patch adds IsStreamingOrSVE2p1 to the applicable builtins and a warning for when those builtins are not used in a streaming or sve2p1 function.
Diffstat (limited to 'clang/utils')
-rw-r--r--clang/utils/TableGen/SveEmitter.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/utils/TableGen/SveEmitter.cpp b/clang/utils/TableGen/SveEmitter.cpp
index 6c302da..5de2223 100644
--- a/clang/utils/TableGen/SveEmitter.cpp
+++ b/clang/utils/TableGen/SveEmitter.cpp
@@ -1773,11 +1773,14 @@ void SVEEmitter::createStreamingAttrs(raw_ostream &OS, ACLEKind Kind) {
llvm::StringMap<std::set<std::string>> StreamingMap;
uint64_t IsStreamingFlag = getEnumValueForFlag("IsStreaming");
+ uint64_t IsStreamingOrSVE2p1Flag = getEnumValueForFlag("IsStreamingOrSVE2p1");
uint64_t IsStreamingCompatibleFlag =
getEnumValueForFlag("IsStreamingCompatible");
for (auto &Def : Defs) {
if (Def->isFlagSet(IsStreamingFlag))
StreamingMap["ArmStreaming"].insert(Def->getMangledName());
+ else if (Def->isFlagSet(IsStreamingOrSVE2p1Flag))
+ StreamingMap["ArmStreamingOrSVE2p1"].insert(Def->getMangledName());
else if (Def->isFlagSet(IsStreamingCompatibleFlag))
StreamingMap["ArmStreamingCompatible"].insert(Def->getMangledName());
else