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: