llvm::AliasSetTracker

Tracks a collection of disjoint AliasSets over immutable IR.

Synopsis

Declared in <llvm/Analysis/AliasSetTracker.h>

class AliasSetTracker;

Description

Classifies memory locations into a maximal number of disjoint sets. Each AliasSet refers to memory disjoint from the other sets held by this tracker.

Type Aliases

NameDescription
const_iterator Const iterator over the alias sets in this tracker.
iterator Mutable iterator over the alias sets in this tracker.

Member Functions

NameDescription
AliasSetTracker [constructor]Create an empty collection of AliasSets, and use the specified alias analysis object to disambiguate load and store addresses.
~AliasSetTracker [destructor]Destroy this tracker and clear all alias sets.
add add overloads
addUnknown Add an instruction with an unknown memory effect to the tracker.
addWithoutAATags Add store SI without using its AA metadata tags.
begin begin overloads
clear Remove all alias sets from this tracker.
dump Dump this alias set tracker to stderr for debugging.
end end overloads
getAliasAnalysis Return the underlying alias analysis object used by this tracker.
getAliasSetFor Return the alias set that contains MemLoc, merging sets if needed.
getAliasSets Return the alias sets that are active.
print Print this alias set tracker to OS.

Friends

NameDescription
llvm::AliasSetA set of memory locations that may alias each other.