|
clang 24.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 1235 of file AArch64.cpp.
|
static |
Definition at line 1202 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 1250 of file AArch64.cpp.
References ErrorCalleeRequiresNewZA, ErrorCalleeRequiresNewZT0, ErrorIncompatibleStreamingModes, clang::IsArmStreamingFunction(), isStreamingCompatible(), Ok, and WarnIncompatibleStreamingModes.
|
static |
Definition at line 1193 of file AArch64.cpp.
References clang::Type::getAs(), clang::ValueDecl::getType(), and clang::FunctionType::SME_PStateSMCompatibleMask.
Referenced by GetArmSMEInlinability().