LLVM
17.0.0git
|
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. More... | |
bool | isRead () const |
Return true if this is a read access. More... | |
bool | isWrite () const |
Return true if this is a write access. More... | |
bool | isWriteOrAssumption () const |
Return true if this is a write access. More... | |
bool | isAssumption () const |
Return true if this is an assumption access. More... | |
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. More... | |
Instruction * | getRemoteInst () const |
Return the actual instruction that causes the access. More... | |
bool | isWrittenValueYetUndetermined () const |
Return true if the value written is not known yet. More... | |
bool | isWrittenValueUnknown () const |
Return true if the value written cannot be determined at all. More... | |
void | setWrittenValueUnknown () |
Set the value written to nullptr, i.e., unknown. More... | |
Type * | getType () const |
Return the type associated with the access, if known. More... | |
Value * | getWrittenValue () const |
Return the value writen, if any. More... | |
std::optional< Value * > | getContent () const |
Return the written value which can be llvm::null if it is not yet determined. More... | |
bool | hasUniqueRange () const |
const AA::RangeTy & | getUniqueRange () const |
void | addRange (int64_t Offset, int64_t Size) |
Add a range accessed by this Access. More... | |
const RangeList & | getRanges () const |
const_iterator | begin () const |
const_iterator | end () const |
An access description.
Definition at line 5291 of file Attributor.h.
Definition at line 5434 of file Attributor.h.
|
inline |
Definition at line 5292 of file Attributor.h.
|
inline |
Definition at line 5298 of file Attributor.h.
References llvm::AAPointerInfo::AK_MAY, llvm::AAPointerInfo::AK_MUST, Content, and verify().
|
inline |
Definition at line 5308 of file Attributor.h.
|
inline |
Add a range accessed by this Access.
If there are multiple ranges, then this is a "may access".
Definition at line 5424 of file Attributor.h.
References llvm::AAPointerInfo::AK_MAY, llvm::AAPointerInfo::AK_MUST, hasUniqueRange(), llvm::AAPointerInfo::RangeList::insert(), and llvm::Offset.
|
inline |
Definition at line 5435 of file Attributor.h.
References llvm::AAPointerInfo::RangeList::begin().
|
inline |
Definition at line 5436 of file Attributor.h.
References llvm::AAPointerInfo::RangeList::end().
|
inline |
Return the written value which can be llvm::null
if it is not yet determined.
Definition at line 5416 of file Attributor.h.
Referenced by getPotentialCopiesOfMemoryValue(), and llvm::operator<<().
|
inline |
Return the access kind.
Definition at line 5358 of file Attributor.h.
Referenced by llvm::operator<<().
|
inline |
Return the instruction that causes the access with respect to the local scope of the associated attribute.
Definition at line 5388 of file Attributor.h.
Referenced by llvm::operator<<().
Definition at line 5432 of file Attributor.h.
Referenced by llvm::AA::PointerInfo::State::addAccess().
|
inline |
Return the actual instruction that causes the access.
Definition at line 5391 of file Attributor.h.
Referenced by getPotentialCopiesOfMemoryValue(), and llvm::operator<<().
|
inline |
Return the type associated with the access, if known.
Definition at line 5405 of file Attributor.h.
|
inline |
Definition at line 5419 of file Attributor.h.
References llvm::AAPointerInfo::RangeList::getUnique().
|
inline |
Return the value writen, if any.
Definition at line 5408 of file Attributor.h.
References assert(), and isWrittenValueYetUndetermined().
Referenced by getPotentialCopiesOfMemoryValue().
|
inline |
Definition at line 5418 of file Attributor.h.
References llvm::AAPointerInfo::RangeList::isUnique().
Referenced by addRange().
|
inline |
Return true if this is an assumption access.
Definition at line 5370 of file Attributor.h.
References llvm::AAPointerInfo::AK_ASSUMPTION.
Referenced by isWriteOrAssumption(), and verify().
|
inline |
Definition at line 5379 of file Attributor.h.
References llvm::AAPointerInfo::AK_MAY, assert(), and llvm::AAPointerInfo::RangeList::size().
Referenced by verify().
|
inline |
Definition at line 5372 of file Attributor.h.
References llvm::AAPointerInfo::AK_MUST, assert(), and llvm::AAPointerInfo::RangeList::size().
Referenced by verify().
|
inline |
Return true if this is a read access.
Definition at line 5361 of file Attributor.h.
References llvm::AAPointerInfo::AK_R.
Referenced by getPotentialCopiesOfMemoryValue().
|
inline |
Return true if this is a write access.
Definition at line 5364 of file Attributor.h.
References llvm::AAPointerInfo::AK_W.
Referenced by isWriteOrAssumption(), and verify().
|
inline |
Return true if this is a write access.
Definition at line 5367 of file Attributor.h.
References isAssumption(), and isWrite().
Referenced by getPotentialCopiesOfMemoryValue().
|
inline |
Return true if the value written cannot be determined at all.
Definition at line 5397 of file Attributor.h.
Referenced by getPotentialCopiesOfMemoryValue().
|
inline |
Return true if the value written is not known yet.
Definition at line 5394 of file Attributor.h.
Referenced by getPotentialCopiesOfMemoryValue(), and getWrittenValue().
Definition at line 5322 of file Attributor.h.
Definition at line 5324 of file Attributor.h.
References llvm::AAPointerInfo::AK_MAY, llvm::AAPointerInfo::AK_MUST, assert(), llvm::AA::combineOptionalValuesInAAValueLatice(), llvm::AAPointerInfo::RangeList::merge(), llvm::AAPointerInfo::RangeList::size(), and verify().
Definition at line 5318 of file Attributor.h.
|
inline |
Set the value written to nullptr, i.e., unknown.
Definition at line 5402 of file Attributor.h.
|
inline |
Definition at line 5348 of file Attributor.h.
References assert(), isAssumption(), isMayAccess(), isMustAccess(), isWrite(), and llvm::AAPointerInfo::RangeList::size().
Referenced by Access(), and operator&=().