9#ifndef LLVM_LIB_TARGET_AARCH64_UTILS_AARCH64SMEATTRIBUTES_H
10#define LLVM_LIB_TARGET_AARCH64_UTILS_AARCH64SMEATTRIBUTES_H
84 return static_cast<unsigned>(S) <<
ZA_Shift;
103 return hasZAState() && Callee.hasPrivateZAInterface() &&
112 return static_cast<unsigned>(S) <<
ZT0_Shift;
Base class for all callable instructions (InvokeInst and CallInst) Holds everything related to callin...
SMEAttrs is a utility class to parse the SME ACLE attributes on functions.
bool isPreservesZT0() const
bool hasStreamingInterface() const
static unsigned encodeZAState(StateValue S)
bool hasNonStreamingInterfaceAndBody() const
SMEAttrs(unsigned Mask=Normal)
bool hasStreamingCompatibleInterface() const
bool requiresEnablingZAAfterCall(const SMEAttrs &Callee) const
bool requiresPreservingZT0(const SMEAttrs &Callee) const
bool requiresSMChange(const SMEAttrs &Callee) const
bool hasStreamingInterfaceOrBody() const
void set(unsigned M, bool Enable=true)
static StateValue decodeZAState(unsigned Bitmask)
bool requiresDisablingZABeforeCall(const SMEAttrs &Callee) const
bool hasNonStreamingInterface() const
static StateValue decodeZT0State(unsigned Bitmask)
bool hasStreamingBody() const
SMEAttrs(const Function &F)
bool isPreservesZA() const
bool hasPrivateZAInterface() const
bool requiresLazySave(const SMEAttrs &Callee) const
bool hasSharedZAInterface() const
static unsigned encodeZT0State(StateValue S)
StringRef - Represent a constant reference to a string, i.e.
This is an optimization pass for GlobalISel generic memory operations.