|
LLVM 22.0.0git
|
SMECallAttrs is a utility class to hold the SMEAttrs for a callsite. More...
#include "Target/AArch64/Utils/AArch64SMEAttributes.h"
Public Member Functions | |
| SMECallAttrs (SMEAttrs Caller, SMEAttrs Callee, SMEAttrs Callsite=SMEAttrs::Normal) | |
| SMECallAttrs (const CallBase &CB, const RTLIB::RuntimeLibcallsInfo *RTLCI) | |
| SMEAttrs & | caller () |
| SMEAttrs & | callee () |
| SMEAttrs & | callsite () |
| SMEAttrs const & | caller () const |
| SMEAttrs const & | callee () const |
| SMEAttrs const & | callsite () const |
| bool | requiresSMChange () const |
| bool | requiresLazySave () const |
| bool | requiresPreservingZT0 () const |
| bool | requiresDisablingZABeforeCall () const |
| bool | requiresEnablingZAAfterCall () const |
| bool | requiresPreservingAllZAState () const |
SMECallAttrs is a utility class to hold the SMEAttrs for a callsite.
It has interfaces to query whether a streaming mode change or lazy-save mechanism is required when going from one function to another (e.g. through a call).
Definition at line 168 of file AArch64SMEAttributes.h.
|
inline |
Definition at line 175 of file AArch64SMEAttributes.h.
References llvm::SMEAttrs::Normal.
Referenced by callee().
| SMECallAttrs::SMECallAttrs | ( | const CallBase & | CB, |
| const RTLIB::RuntimeLibcallsInfo * | RTLCI ) |
Definition at line 127 of file AArch64SMEAttributes.cpp.
References assert(), llvm::CallBase::getCalledFunction(), getFunction(), llvm::isa(), llvm::isIndirectCall(), llvm::Normal, and llvm::SMEAttrs::ZA_State_Agnostic.
|
inline |
Definition at line 182 of file AArch64SMEAttributes.h.
Referenced by llvm::AArch64TTIImpl::areInlineCompatible(), callee(), llvm::AArch64TTIImpl::getInlineCallPenalty(), getSMToggleCondition(), requiresDisablingZABeforeCall(), requiresLazySave(), requiresPreservingAllZAState(), requiresPreservingZT0(), and requiresSMChange().
Definition at line 185 of file AArch64SMEAttributes.h.
References callee(), and SMECallAttrs().
|
inline |
Definition at line 181 of file AArch64SMEAttributes.h.
Referenced by llvm::AArch64TTIImpl::areInlineCompatible(), llvm::AArch64TTIImpl::getInlineCallPenalty(), getSMToggleCondition(), requiresDisablingZABeforeCall(), requiresLazySave(), requiresPreservingAllZAState(), requiresPreservingZT0(), and requiresSMChange().
Definition at line 184 of file AArch64SMEAttributes.h.
|
inline |
Definition at line 183 of file AArch64SMEAttributes.h.
Referenced by requiresPreservingZT0().
Definition at line 188 of file AArch64SMEAttributes.h.
|
inline |
Definition at line 204 of file AArch64SMEAttributes.h.
References callee(), caller(), llvm::SMEAttrs::hasPrivateZAInterface(), llvm::SMEAttrs::hasZAState(), llvm::SMEAttrs::hasZT0State(), and llvm::SMEAttrs::isSMEABIRoutine().
Referenced by requiresEnablingZAAfterCall().
|
inline |
Definition at line 209 of file AArch64SMEAttributes.h.
References requiresDisablingZABeforeCall().
|
inline |
Definition at line 194 of file AArch64SMEAttributes.h.
References callee(), caller(), llvm::SMEAttrs::hasPrivateZAInterface(), llvm::SMEAttrs::hasZAState(), and llvm::SMEAttrs::isSMEABIRoutine().
Referenced by llvm::AArch64TTIImpl::areInlineCompatible(), and llvm::AArch64TargetLowering::fallBackToDAGISel().
|
inline |
Definition at line 213 of file AArch64SMEAttributes.h.
References callee(), caller(), llvm::SMEAttrs::hasAgnosticZAInterface(), and llvm::SMEAttrs::isSMEABIRoutine().
Referenced by llvm::AArch64TTIImpl::areInlineCompatible(), and llvm::AArch64TargetLowering::fallBackToDAGISel().
|
inline |
Definition at line 199 of file AArch64SMEAttributes.h.
References callee(), caller(), callsite(), llvm::SMEAttrs::hasAgnosticZAInterface(), llvm::SMEAttrs::hasUndefZT0(), llvm::SMEAttrs::hasZT0State(), and llvm::SMEAttrs::sharesZT0().
Referenced by llvm::AArch64TTIImpl::areInlineCompatible(), and llvm::AArch64TargetLowering::fallBackToDAGISel().
| bool SMECallAttrs::requiresSMChange | ( | ) | const |
Definition at line 110 of file AArch64SMEAttributes.cpp.
References callee(), and caller().
Referenced by llvm::AArch64TTIImpl::areInlineCompatible(), llvm::AArch64TargetLowering::fallBackToDAGISel(), and llvm::AArch64TTIImpl::getInlineCallPenalty().