LLVM: llvm::SMEAttrs Class Reference (original) (raw)
SMEAttrs is a utility class to parse the SME ACLE attributes on functions. More...
#include "[Target/AArch64/AArch64SMEAttributes.h](AArch64SMEAttributes%5F8h%5Fsource.html)"
| Public Types |
|
| enum class |
StateValue { None = 0 , In = 1 , Out = 2 , InOut = 3 , Preserved = 4 , New = 5 } |
| enum |
Mask { Normal = 0 , SM_Enabled = 1 << 0 , SM_Compatible = 1 << 1 , SM_Body = 1 << 2 , SME_ABI_Routine = 1 << 3 , ZA_State_Agnostic = 1 << 4 , ZT0_Undef = 1 << 5 , ZA_Shift = 6 , ZA_Mask = 0b111 << ZA_Shift , ZT0_Shift = 9 , ZT0_Mask = 0b111 << ZT0_Shift , CallSiteFlags_Mask = ZT0_Undef } |
SMEAttrs is a utility class to parse the SME ACLE attributes on functions.
It helps determine a function's requirements for PSTATE.ZA and PSTATE.SM.
Definition at line 25 of file AArch64SMEAttributes.h.
◆ Mask
| Enumerator |
| Normal |
| SM_Enabled |
| SM_Compatible |
| SM_Body |
| SME_ABI_Routine |
| ZA_State_Agnostic |
| ZT0_Undef |
| ZA_Shift |
| ZA_Mask |
| ZT0_Shift |
| ZT0_Mask |
| CallSiteFlags_Mask |
Definition at line 39 of file AArch64SMEAttributes.h.
◆ StateValue
◆ SMEAttrs() [1/5]
| llvm::SMEAttrs::SMEAttrs ( ) |
default |
◆ SMEAttrs() [2/5]
| llvm::SMEAttrs::SMEAttrs ( unsigned Mask) |
inline |
◆ SMEAttrs() [3/5]
◆ SMEAttrs() [4/5]
| SMEAttrs::SMEAttrs |
( |
const AttributeList & |
L |
) |
Definition at line 43 of file AArch64SMEAttributes.cpp.
References encodeZAState(), encodeZT0State(), In, InOut, New, Out, Preserved, SM_Body, SM_Compatible, SM_Enabled, ZA_State_Agnostic, and ZT0_Undef.
◆ SMEAttrs() [5/5]
◆ decodeZAState()
◆ decodeZT0State()
◆ encodeZAState()
◆ encodeZT0State()
◆ hasAgnosticZAInterface()
| bool llvm::SMEAttrs::hasAgnosticZAInterface ( ) const |
inline |
◆ hasNonStreamingInterface()
| bool llvm::SMEAttrs::hasNonStreamingInterface ( ) const |
inline |
◆ hasNonStreamingInterfaceAndBody()
| bool llvm::SMEAttrs::hasNonStreamingInterfaceAndBody ( ) const |
inline |
◆ hasPrivateZAInterface()
| bool llvm::SMEAttrs::hasPrivateZAInterface ( ) const |
inline |
◆ hasSharedZAInterface()
| bool llvm::SMEAttrs::hasSharedZAInterface ( ) const |
inline |
◆ hasStreamingBody()
| bool llvm::SMEAttrs::hasStreamingBody ( ) const |
inline |
◆ hasStreamingCompatibleInterface()
| bool llvm::SMEAttrs::hasStreamingCompatibleInterface ( ) const |
inline |
◆ hasStreamingInterface()
| bool llvm::SMEAttrs::hasStreamingInterface ( ) const |
inline |
◆ hasStreamingInterfaceOrBody()
| bool llvm::SMEAttrs::hasStreamingInterfaceOrBody ( ) const |
inline |
◆ hasUndefZT0()
| bool llvm::SMEAttrs::hasUndefZT0 ( ) const |
inline |
◆ hasZAState()
| bool llvm::SMEAttrs::hasZAState ( ) const |
inline |
◆ hasZT0State()
| bool llvm::SMEAttrs::hasZT0State ( ) const |
inline |
◆ isInOutZA()
| bool llvm::SMEAttrs::isInOutZA ( ) const |
inline |
◆ isInOutZT0()
| bool llvm::SMEAttrs::isInOutZT0 ( ) const |
inline |
◆ isInZA()
| bool llvm::SMEAttrs::isInZA ( ) const |
inline |
◆ isInZT0()
| bool llvm::SMEAttrs::isInZT0 ( ) const |
inline |
◆ isNewZA()
| bool llvm::SMEAttrs::isNewZA ( ) const |
inline |
◆ isNewZT0()
| bool llvm::SMEAttrs::isNewZT0 ( ) const |
inline |
◆ isOutZA()
| bool llvm::SMEAttrs::isOutZA ( ) const |
inline |
◆ isOutZT0()
| bool llvm::SMEAttrs::isOutZT0 ( ) const |
inline |
◆ isPreservesZA()
| bool llvm::SMEAttrs::isPreservesZA ( ) const |
inline |
◆ isPreservesZT0()
| bool llvm::SMEAttrs::isPreservesZT0 ( ) const |
inline |
◆ isSMEABIRoutine()
| bool llvm::SMEAttrs::isSMEABIRoutine ( ) const |
inline |
◆ operator==()
◆ operator|()
◆ set()
◆ sharesZA()
| bool llvm::SMEAttrs::sharesZA ( ) const |
inline |
◆ sharesZT0()
| bool llvm::SMEAttrs::sharesZT0 ( ) const |
inline |
◆ withoutPerCallsiteFlags()
| SMEAttrs llvm::SMEAttrs::withoutPerCallsiteFlags ( ) const |
inline |
The documentation for this class was generated from the following files: