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

Name

Description

Location

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

Member Functions

Name

Description

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

Name

Description

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.

Created with MrDocs