LLVM: llvm::MemoryEffectsBase< LocationEnum > Class Template Reference (original) (raw)
#include "[llvm/Support/ModRef.h](ModRef%5F8h%5Fsource.html)"
Public Types | |
---|---|
using | Location = LocationEnum |
Public Member Functions | |
---|---|
MemoryEffectsBase (Location Loc, ModRefInfo MR) | |
Create MemoryEffectsBase that can access only the given location with the given ModRefInfo. | |
MemoryEffectsBase (ModRefInfo MR) | |
Create MemoryEffectsBase that can access any location with the given ModRefInfo. | |
uint32_t | toIntValue () const |
Convert MemoryEffectsBase into an encoded integer value (used by memory attribute). | |
ModRefInfo | getModRef (Location Loc) const |
Get ModRefInfo for the given Location. | |
MemoryEffectsBase | getWithModRef (Location Loc, ModRefInfo MR) const |
Get new MemoryEffectsBase with modified ModRefInfo for Loc. | |
MemoryEffectsBase | getWithoutLoc (Location Loc) const |
Get new MemoryEffectsBase with NoModRef on the given Loc. | |
ModRefInfo | getModRef () const |
Get ModRefInfo for any location. | |
bool | doesNotAccessMemory () const |
Whether this function accesses no memory. | |
bool | onlyReadsMemory () const |
Whether this function only (at most) reads memory. | |
bool | onlyWritesMemory () const |
Whether this function only (at most) writes memory. | |
bool | onlyAccessesArgPointees () const |
Whether this function only (at most) accesses argument memory. | |
bool | doesAccessArgPointees () const |
Whether this function may access argument memory. | |
bool | onlyAccessesInaccessibleMem () const |
Whether this function only (at most) accesses inaccessible memory. | |
bool | onlyAccessesInaccessibleOrArgMem () const |
Whether this function only (at most) accesses argument and inaccessible memory. | |
MemoryEffectsBase | operator& (MemoryEffectsBase Other) const |
Intersect with other MemoryEffectsBase. | |
MemoryEffectsBase & | operator&= (MemoryEffectsBase Other) |
Intersect (in-place) with other MemoryEffectsBase. | |
MemoryEffectsBase | operator| (MemoryEffectsBase Other) const |
Union with other MemoryEffectsBase. | |
MemoryEffectsBase & | operator|= (MemoryEffectsBase Other) |
Union (in-place) with other MemoryEffectsBase. | |
MemoryEffectsBase | operator- (MemoryEffectsBase Other) const |
Subtract other MemoryEffectsBase. | |
MemoryEffectsBase & | operator-= (MemoryEffectsBase Other) |
Subtract (in-place) with other MemoryEffectsBase. | |
bool | operator== (MemoryEffectsBase Other) const |
Check whether this is the same as other MemoryEffectsBase. | |
bool | operator!= (MemoryEffectsBase Other) const |
Check whether this is different from other MemoryEffectsBase. | |
Static Public Member Functions | |
---|---|
static auto | locations () |
Returns iterator over all supported location kinds. | |
static MemoryEffectsBase | unknown () |
Create MemoryEffectsBase that can read and write any memory. | |
static MemoryEffectsBase | none () |
Create MemoryEffectsBase that cannot read or write any memory. | |
static MemoryEffectsBase | readOnly () |
Create MemoryEffectsBase that can read any memory. | |
static MemoryEffectsBase | writeOnly () |
Create MemoryEffectsBase that can write any memory. | |
static MemoryEffectsBase | argMemOnly (ModRefInfo MR=ModRefInfo::ModRef) |
Create MemoryEffectsBase that can only access argument memory. | |
static MemoryEffectsBase | inaccessibleMemOnly (ModRefInfo MR=ModRefInfo::ModRef) |
Create MemoryEffectsBase that can only access inaccessible memory. | |
static MemoryEffectsBase | inaccessibleOrArgMemOnly (ModRefInfo MR=ModRefInfo::ModRef) |
Create MemoryEffectsBase that can only access inaccessible or argument memory. | |
static MemoryEffectsBase | createFromIntValue (uint32_t Data) |
Create MemoryEffectsBase from an encoded integer value (used by memory attribute). | |
template
class llvm::MemoryEffectsBase< LocationEnum >
Definition at line 72 of file ModRef.h.
◆ Location
template
template
◆ MemoryEffectsBase() [2/2]
template
◆ argMemOnly()
template
◆ createFromIntValue()
template
◆ doesAccessArgPointees()
template
◆ doesNotAccessMemory()
template
◆ getModRef() [1/2]
template
◆ getModRef() [2/2]
template
◆ getWithModRef()
template
◆ getWithoutLoc()
template
◆ inaccessibleMemOnly()
template
◆ inaccessibleOrArgMemOnly()
template
◆ locations()
template
◆ none()
template
◆ onlyAccessesArgPointees()
template
◆ onlyAccessesInaccessibleMem()
template
◆ onlyAccessesInaccessibleOrArgMem()
template
◆ onlyReadsMemory()
template
◆ onlyWritesMemory()
template
◆ operator!=()
template
◆ operator&()
template
◆ operator&=()
template
◆ operator-()
template
◆ operator-=()
template
◆ operator==()
template
◆ operator|()
template
◆ operator|=()
template
◆ readOnly()
template
◆ toIntValue()
template
◆ unknown()
template
Create MemoryEffectsBase that can read and write any memory.
Definition at line 112 of file ModRef.h.
References llvm::ModRef.
Referenced by addMemoryAttrs(), decodeLLVMAttributesForBitcode(), llvm::AttributeSet::getMemoryEffects(), llvm::AttributeSetNode::getMemoryEffects(), llvm::AAResults::getMemoryEffects(), llvm::AAResultBase::getMemoryEffects(), llvm::TypeBasedAAResult::getMemoryEffects(), llvm::GlobalsAAResult::getMemoryEffects(), llvm::AANoSync::isImpliedByIR(), llvm::AAWillReturn::isImpliedByMustprogressAndReadonly(), and runIPSCCP().
◆ writeOnly()
template
The documentation for this class was generated from the following file:
- include/llvm/Support/ModRef.h