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 AArch64TargetLowering *TLI) | |
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 167 of file AArch64SMEAttributes.h.
|
inline |
Definition at line 174 of file AArch64SMEAttributes.h.
References llvm::SMEAttrs::Normal.
Referenced by callee().
SMECallAttrs::SMECallAttrs | ( | const CallBase & | CB, |
const AArch64TargetLowering * | TLI ) |
Definition at line 127 of file AArch64SMEAttributes.cpp.
References assert(), llvm::CallBase::getCalledFunction(), getFunction(), llvm::isIndirectCall(), and llvm::Normal.
|
inline |
Definition at line 181 of file AArch64SMEAttributes.h.
Referenced by llvm::AArch64TTIImpl::areInlineCompatible(), callee(), llvm::AArch64TTIImpl::getInlineCallPenalty(), getSMToggleCondition(), requiresDisablingZABeforeCall(), requiresLazySave(), requiresPreservingAllZAState(), requiresPreservingZT0(), and requiresSMChange().
Definition at line 184 of file AArch64SMEAttributes.h.
References callee(), and SMECallAttrs().
|
inline |
Definition at line 180 of file AArch64SMEAttributes.h.
Referenced by llvm::AArch64TTIImpl::areInlineCompatible(), llvm::AArch64TTIImpl::getInlineCallPenalty(), getSMToggleCondition(), requiresDisablingZABeforeCall(), requiresLazySave(), requiresPreservingAllZAState(), requiresPreservingZT0(), and requiresSMChange().
Definition at line 183 of file AArch64SMEAttributes.h.
|
inline |
Definition at line 182 of file AArch64SMEAttributes.h.
Referenced by requiresPreservingZT0().
Definition at line 187 of file AArch64SMEAttributes.h.
|
inline |
Definition at line 203 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 208 of file AArch64SMEAttributes.h.
References requiresDisablingZABeforeCall().
|
inline |
Definition at line 193 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 212 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 198 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().