A set of memory locations that may alias each other.

Synopsis

Declared in <llvm/Analysis/AliasSetTracker.h>

class AliasSet
    : public ilist_node<AliasSet>

Description

Each AliasSet constructed by an AliasSetTracker refers to memory disjoint from the other sets held by that tracker.

Base Classes

Name

Description

ilist_node<AliasSet>

An intrusive list node.

Type Aliases

Name

Description

PointerVector

Vector of distinct pointer values from this set's memory locations.

iterator

Const iterator over the memory locations in this alias set.

Member Functions

Name

Description

AliasSet [constructor] [deleted]

Deleted copy constructor.

operator= [deleted]

Deleted copy assignment.

aliasesMemoryLocation

If the specified memory location "may" (or must) alias one of the members in the set return the appropriate AliasResult. Otherwise return NoAlias.

aliasesUnknownInst

Return how instruction Inst may modify or reference this alias set.

begin

Return an iterator to the first memory location in this set.

dump

Dump this alias set to stderr for debugging.

end

Return an iterator past the last memory location in this set.

getPointers

Retrieve the pointer values for the memory locations in this alias set.

isForwardingAliasSet

Return true if this alias set should be ignored as part of the AliasSetTracker object.

isMayAlias

Return true if pointers in this set may alias each other.

isMod

Return true if this set models a modifying access.

isMustAlias

Return true if all pointers in this set must alias each other.

isRef

Return true if this set models a referencing access.

mergeSetIn

Merge the specified alias set into this alias set.

print

Print this alias set to OS.

size

Return the number of memory locations in this alias set.

Friends

Name

Description

llvm::AliasSetTracker

Tracks a collection of disjoint AliasSets over immutable IR.

Created with MrDocs