|
clang 22.0.0git
|
#include "ABIInfoImpl.h"#include "TargetInfo.h"#include "clang/AST/Decl.h"#include "clang/Basic/DiagnosticFrontend.h"#include "llvm/TargetParser/AArch64TargetParser.h"#include "clang/Basic/AArch64ACLETypes.def"Go to the source code of this file.
Macros | |
| #define | SVE_VECTOR_TYPE(Name, MangledName, Id, SingletonId) |
| #define | SVE_PREDICATE_TYPE(Name, MangledName, Id, SingletonId) |
Enumerations | |
| enum class | ArmSMEInlinability : uint8_t { Ok = 0 , ErrorCalleeRequiresNewZA = 1 << 0 , ErrorCalleeRequiresNewZT0 = 1 << 1 , WarnIncompatibleStreamingModes = 1 << 2 , ErrorIncompatibleStreamingModes = 1 << 3 , IncompatibleStreamingModes , LLVM_MARK_AS_BITMASK_ENUM =(ErrorIncompatibleStreamingModes) } |
Functions | |
| static bool | isStreamingCompatible (const FunctionDecl *F) |
| static void | diagnoseIfNeedsFPReg (DiagnosticsEngine &Diags, const StringRef ABIName, const AArch64ABIInfo &ABIInfo, const QualType &Ty, const NamedDecl *D, SourceLocation loc) |
| static ArmSMEInlinability | GetArmSMEInlinability (const FunctionDecl *Caller, const FunctionDecl *Callee) |
Determines if there are any Arm SME ABI issues with inlining Callee into Caller. | |
| #define SVE_PREDICATE_TYPE | ( | Name, | |
| MangledName, | |||
| Id, | |||
| SingletonId ) |
| #define SVE_VECTOR_TYPE | ( | Name, | |
| MangledName, | |||
| Id, | |||
| SingletonId ) |
|
strong |
| Enumerator | |
|---|---|
| Ok | |
| ErrorCalleeRequiresNewZA | |
| ErrorCalleeRequiresNewZT0 | |
| WarnIncompatibleStreamingModes | |
| ErrorIncompatibleStreamingModes | |
| IncompatibleStreamingModes | |
| LLVM_MARK_AS_BITMASK_ENUM | |
Definition at line 1205 of file AArch64.cpp.
|
static |
Definition at line 1172 of file AArch64.cpp.
References clang::NamedDecl::getDeclName(), clang::Type::isFloatingType(), clang::CodeGen::ABIInfo::isHomogeneousAggregate(), clang::Type::isVectorType(), and clang::DiagnosticsEngine::Report().
|
static |
Determines if there are any Arm SME ABI issues with inlining Callee into Caller.
Returns the issue (if any) in the ArmSMEInlinability bit enum.
Definition at line 1220 of file AArch64.cpp.
References ErrorCalleeRequiresNewZA, ErrorCalleeRequiresNewZT0, ErrorIncompatibleStreamingModes, clang::IsArmStreamingFunction(), isStreamingCompatible(), Ok, and WarnIncompatibleStreamingModes.
|
static |
Definition at line 1163 of file AArch64.cpp.
References clang::Type::getAs(), clang::ValueDecl::getType(), clang::FunctionType::SME_PStateSMCompatibleMask, and clang::T.
Referenced by GetArmSMEInlinability().