LLVM 22.0.0git
llvm::SMECallAttrs Class Reference

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)
SMEAttrscaller ()
SMEAttrscallee ()
SMEAttrscallsite ()
SMEAttrs constcaller () const
SMEAttrs constcallee () const
SMEAttrs constcallsite () const
bool requiresSMChange () const
bool requiresLazySave () const
bool requiresPreservingZT0 () const
bool requiresDisablingZABeforeCall () const
bool requiresEnablingZAAfterCall () const
bool requiresPreservingAllZAState () const

Detailed Description

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.

Constructor & Destructor Documentation

◆ SMECallAttrs() [1/2]

llvm::SMECallAttrs::SMECallAttrs ( SMEAttrs Caller,
SMEAttrs Callee,
SMEAttrs Callsite = SMEAttrs::Normal )
inline

Definition at line 174 of file AArch64SMEAttributes.h.

References llvm::SMEAttrs::Normal.

Referenced by callee().

◆ SMECallAttrs() [2/2]

SMECallAttrs::SMECallAttrs ( const CallBase & CB,
const AArch64TargetLowering * TLI )

Member Function Documentation

◆ callee() [1/2]

◆ callee() [2/2]

SMEAttrs const & llvm::SMECallAttrs::callee ( ) const
inline

Definition at line 184 of file AArch64SMEAttributes.h.

References callee(), and SMECallAttrs().

◆ caller() [1/2]

◆ caller() [2/2]

SMEAttrs const & llvm::SMECallAttrs::caller ( ) const
inline

Definition at line 183 of file AArch64SMEAttributes.h.

◆ callsite() [1/2]

SMEAttrs & llvm::SMECallAttrs::callsite ( )
inline

Definition at line 182 of file AArch64SMEAttributes.h.

Referenced by requiresPreservingZT0().

◆ callsite() [2/2]

SMEAttrs const & llvm::SMECallAttrs::callsite ( ) const
inline

Definition at line 187 of file AArch64SMEAttributes.h.

◆ requiresDisablingZABeforeCall()

bool llvm::SMECallAttrs::requiresDisablingZABeforeCall ( ) const
inline

◆ requiresEnablingZAAfterCall()

bool llvm::SMECallAttrs::requiresEnablingZAAfterCall ( ) const
inline

Definition at line 208 of file AArch64SMEAttributes.h.

References requiresDisablingZABeforeCall().

◆ requiresLazySave()

◆ requiresPreservingAllZAState()

bool llvm::SMECallAttrs::requiresPreservingAllZAState ( ) const
inline

◆ requiresPreservingZT0()

◆ requiresSMChange()

bool SMECallAttrs::requiresSMChange ( ) const
Returns
true if a call from Caller -> Callee requires a change in streaming mode.

Definition at line 110 of file AArch64SMEAttributes.cpp.

References callee(), and caller().

Referenced by llvm::AArch64TTIImpl::areInlineCompatible(), llvm::AArch64TargetLowering::fallBackToDAGISel(), and llvm::AArch64TTIImpl::getInlineCallPenalty().


The documentation for this class was generated from the following files: