LLVM 24.0.0git
llvm::AAPointerInfo::Access Struct Reference

An access description. More...

#include "llvm/Transforms/IPO/Attributor.h"

Public Types

using const_iterator = RangeList::const_iterator

Public Member Functions

 Access (Instruction *I, int64_t Offset, int64_t Size, std::optional< Value * > Content, AccessKind Kind, Type *Ty)
 Access (Instruction *LocalI, Instruction *RemoteI, const RangeList &Ranges, std::optional< Value * > Content, AccessKind K, Type *Ty)
 Access (Instruction *LocalI, Instruction *RemoteI, int64_t Offset, int64_t Size, std::optional< Value * > Content, AccessKind Kind, Type *Ty)
 Access (const Access &Other)=default
Access & operator= (const Access &Other)=default
bool operator== (const Access &R) const
bool operator!= (const Access &R) const
Access & operator&= (const Access &R)
void verify ()
AccessKind getKind () const
 Return the access kind.
bool isRead () const
 Return true if this is a read access.
bool isWrite () const
 Return true if this is a write access.
bool isWriteOrAssumption () const
 Return true if this is a write access.
bool isAssumption () const
 Return true if this is an assumption access.
bool isMustAccess () const
bool isMayAccess () const
Instruction * getLocalInst () const
 Return the instruction that causes the access with respect to the local scope of the associated attribute.
Instruction * getRemoteInst () const
 Return the actual instruction that causes the access.
bool isWrittenValueYetUndetermined () const
 Return true if the value written is not known yet.
bool isWrittenValueUnknown () const
 Return true if the value written cannot be determined at all.
Type * getType () const
 Return the type associated with the access, if known.
Value * getWrittenValue () const
 Return the value writen, if any.
std::optional< Value * > getContent () const
 Return the written value which can be llvm::null if it is not yet determined.
const RangeList & getRanges () const
const_iterator begin () const
const_iterator end () const

Detailed Description

An access description.

Definition at line 5912 of file Attributor.h.

Member Typedef Documentation

◆ const_iterator

Constructor & Destructor Documentation

◆ Access() [1/4]

llvm::AAPointerInfo::Access::Access ( Instruction * I,
int64_t Offset,
int64_t Size,
std::optional< Value * > Content,
AccessKind Kind,
Type * Ty )
inline

Definition at line 5913 of file Attributor.h.

References I, llvm::Offset, Size, and verify().

Referenced by Access(), operator!=(), operator&=(), operator=(), and operator==().

◆ Access() [2/4]

llvm::AAPointerInfo::Access::Access ( Instruction * LocalI,
Instruction * RemoteI,
const RangeList & Ranges,
std::optional< Value * > Content,
AccessKind K,
Type * Ty )
inline

Definition at line 5919 of file Attributor.h.

References verify().

◆ Access() [3/4]

llvm::AAPointerInfo::Access::Access ( Instruction * LocalI,
Instruction * RemoteI,
int64_t Offset,
int64_t Size,
std::optional< Value * > Content,
AccessKind Kind,
Type * Ty )
inline

Definition at line 5929 of file Attributor.h.

References llvm::Offset, Size, and verify().

◆ Access() [4/4]

llvm::AAPointerInfo::Access::Access ( const Access & Other)
default

References Access(), and llvm::Other.

Member Function Documentation

◆ begin()

const_iterator llvm::AAPointerInfo::Access::begin ( ) const
inline

Definition at line 6039 of file Attributor.h.

◆ end()

const_iterator llvm::AAPointerInfo::Access::end ( ) const
inline

Definition at line 6040 of file Attributor.h.

◆ getContent()

std::optional< Value * > llvm::AAPointerInfo::Access::getContent ( ) const
inline

Return the written value which can be llvm::null if it is not yet determined.

Definition at line 6034 of file Attributor.h.

Referenced by getPotentialCopiesOfMemoryValue(), and llvm::operator<<().

◆ getKind()

AccessKind llvm::AAPointerInfo::Access::getKind ( ) const
inline

Return the access kind.

Definition at line 5979 of file Attributor.h.

Referenced by llvm::operator<<().

◆ getLocalInst()

Instruction * llvm::AAPointerInfo::Access::getLocalInst ( ) const
inline

Return the instruction that causes the access with respect to the local scope of the associated attribute.

Definition at line 6009 of file Attributor.h.

Referenced by llvm::operator<<().

◆ getRanges()

const RangeList & llvm::AAPointerInfo::Access::getRanges ( ) const
inline

Definition at line 6036 of file Attributor.h.

◆ getRemoteInst()

Instruction * llvm::AAPointerInfo::Access::getRemoteInst ( ) const
inline

Return the actual instruction that causes the access.

Definition at line 6012 of file Attributor.h.

Referenced by getPotentialCopiesOfMemoryValue(), and llvm::operator<<().

◆ getType()

Type * llvm::AAPointerInfo::Access::getType ( ) const
inline

Return the type associated with the access, if known.

Definition at line 6023 of file Attributor.h.

◆ getWrittenValue()

Value * llvm::AAPointerInfo::Access::getWrittenValue ( ) const
inline

Return the value writen, if any.

Definition at line 6026 of file Attributor.h.

References assert(), and isWrittenValueYetUndetermined().

Referenced by getPotentialCopiesOfMemoryValue().

◆ isAssumption()

bool llvm::AAPointerInfo::Access::isAssumption ( ) const
inline

Return true if this is an assumption access.

Definition at line 5991 of file Attributor.h.

References llvm::AAPointerInfo::AK_ASSUMPTION.

Referenced by isWriteOrAssumption(), and verify().

◆ isMayAccess()

bool llvm::AAPointerInfo::Access::isMayAccess ( ) const
inline

Definition at line 6000 of file Attributor.h.

References llvm::AAPointerInfo::AK_MAY, and assert().

Referenced by verify().

◆ isMustAccess()

bool llvm::AAPointerInfo::Access::isMustAccess ( ) const
inline

Definition at line 5993 of file Attributor.h.

References llvm::AAPointerInfo::AK_MUST, and assert().

Referenced by verify().

◆ isRead()

bool llvm::AAPointerInfo::Access::isRead ( ) const
inline

Return true if this is a read access.

Definition at line 5982 of file Attributor.h.

References llvm::AAPointerInfo::AK_R.

Referenced by getPotentialCopiesOfMemoryValue().

◆ isWrite()

bool llvm::AAPointerInfo::Access::isWrite ( ) const
inline

Return true if this is a write access.

Definition at line 5985 of file Attributor.h.

References llvm::AAPointerInfo::AK_W.

Referenced by isWriteOrAssumption(), and verify().

◆ isWriteOrAssumption()

bool llvm::AAPointerInfo::Access::isWriteOrAssumption ( ) const
inline

Return true if this is a write access.

Definition at line 5988 of file Attributor.h.

References isAssumption(), and isWrite().

Referenced by getPotentialCopiesOfMemoryValue().

◆ isWrittenValueUnknown()

bool llvm::AAPointerInfo::Access::isWrittenValueUnknown ( ) const
inline

Return true if the value written cannot be determined at all.

Definition at line 6018 of file Attributor.h.

Referenced by getPotentialCopiesOfMemoryValue().

◆ isWrittenValueYetUndetermined()

bool llvm::AAPointerInfo::Access::isWrittenValueYetUndetermined ( ) const
inline

Return true if the value written is not known yet.

Definition at line 6015 of file Attributor.h.

Referenced by getPotentialCopiesOfMemoryValue(), and getWrittenValue().

◆ operator!=()

bool llvm::AAPointerInfo::Access::operator!= ( const Access & R) const
inline

Definition at line 5943 of file Attributor.h.

References Access().

◆ operator&=()

Access & llvm::AAPointerInfo::Access::operator&= ( const Access & R)
inline

◆ operator=()

Access & llvm::AAPointerInfo::Access::operator= ( const Access & Other)
default

References Access(), and llvm::Other.

◆ operator==()

bool llvm::AAPointerInfo::Access::operator== ( const Access & R) const
inline

Definition at line 5939 of file Attributor.h.

References Access().

◆ verify()

void llvm::AAPointerInfo::Access::verify ( )
inline

Definition at line 5969 of file Attributor.h.

References assert(), isAssumption(), isMayAccess(), isMustAccess(), and isWrite().

Referenced by Access(), Access(), Access(), and operator&=().


The documentation for this struct was generated from the following file: