llvm::MemoryEffectsBase

Bitmask of Mod/Ref effects for each memory location kind in LocationEnum.

Synopsis

Declared in <llvm/Support/ModRef.h>

template<typename LocationEnum>
class MemoryEffectsBase;

Type Aliases

NameDescription
Location Memory location kind parameterized by LocationEnum (for example IRMemLocation in MemoryEffects).

Member Functions

NameDescription
MemoryEffectsBase [constructor]Constructors
doesAccessArgPointees Whether this function may access argument memory.
doesNotAccessMemory Whether this function accesses no memory.
getModRef getModRef overloads
getWithModRef Get new MemoryEffectsBase with modified ModRefInfo for Loc.
getWithoutLoc Get new MemoryEffectsBase with NoModRef on the given Loc.
isTargetMemLoc Whether location is target memory location.
isTargetMemLocSameForAll Whether the target memory locations are all the same. So it behaves as the default read/write, but for Target locations only.
onlyAccessesArgPointees Whether this function only (at most) accesses argument memory.
onlyAccessesErrnoMem Whether this function only (at most) accesses errno memory.
onlyAccessesInaccessibleMem Whether this function only (at most) accesses inaccessible memory.
onlyAccessesInaccessibleOrArgMem Whether this function only (at most) accesses argument and inaccessible memory.
onlyAccessesInaccessibleOrTargetMem Whether this function only (at most) accesses inaccessible or target memory.
onlyReadsMemory Whether this function only (at most) reads memory.
onlyWritesMemory Whether this function only (at most) writes memory.
operator& Intersect with other MemoryEffectsBase.
operator&= Intersect (in-place) with other MemoryEffectsBase.
operator- Subtract other MemoryEffectsBase.
operator-= Subtract (in-place) with other MemoryEffectsBase.
operator| Union with other MemoryEffectsBase.
operator|= Union (in-place) with other MemoryEffectsBase.
toIntValue Convert MemoryEffectsBase into an encoded integer value (used by memory attribute).
operator== Check whether this is the same as other MemoryEffectsBase.
operator!= Check whether this is different from other MemoryEffectsBase.

Static Member Functions

NameDescription
argMemOnly Create MemoryEffectsBase that can only access argument memory.
argumentOrErrnoMemOnly Create MemoryEffectsBase that can only access argument or errno memory.
createFromIntValue Create MemoryEffectsBase from an encoded integer value (used by memory attribute).
errnoMemOnly Create MemoryEffectsBase that can only access errno memory.
inaccessibleMemOnly Create MemoryEffectsBase that can only access inaccessible memory.
inaccessibleOrArgMemOnly Create MemoryEffectsBase that can only access inaccessible or argument memory.
inaccessibleOrArgOrErrnoMemOnly Create MemoryEffectsBase that can only access inaccessible, argument or errno memory.
inaccessibleOrErrnoMemOnly Create MemoryEffectsBase that can only access inaccessible or errno memory.
locations Returns iterator over all supported location kinds.
none Create MemoryEffectsBase that cannot read or write any memory.
otherMemOnly Create MemoryEffectsBase that can only access other memory.
readOnly Create MemoryEffectsBase that can read any memory.
targetMemLocations Returns iterator over all target location kinds
unknown Create MemoryEffectsBase that can read and write any memory.
writeOnly Create MemoryEffectsBase that can write any memory.