LLVM: llvm::AliasSetTracker Class Reference (original) (raw)

#include "[llvm/Analysis/AliasSetTracker.h](AliasSetTracker%5F8h%5Fsource.html)"

Public Member Functions
AliasSetTracker (BatchAAResults &AA)
Create an empty collection of AliasSets, and use the specified alias analysis object to disambiguate load and store addresses.
~AliasSetTracker ()
LLVM_ABI void add (const MemoryLocation &Loc)
These methods are used to add different types of instructions to the alias sets.
LLVM_ABI void add (LoadInst *LI)
LLVM_ABI void add (StoreInst *SI)
LLVM_ABI void add (VAArgInst *VAAI)
LLVM_ABI void add (AnyMemSetInst *MSI)
LLVM_ABI void add (AnyMemTransferInst *MTI)
LLVM_ABI void add (Instruction *I)
LLVM_ABI void add (BasicBlock &BB)
LLVM_ABI void add (const AliasSetTracker &AST)
LLVM_ABI void addUnknown (Instruction *I)
LLVM_ABI void clear ()
const ilist< AliasSet > & getAliasSets () const
Return the alias sets that are active.
LLVM_ABI AliasSet & getAliasSetFor (const MemoryLocation &MemLoc)
Return the alias set which contains the specified memory location.
BatchAAResults & getAliasAnalysis () const
Return the underlying alias analysis object used by this tracker.
const_iterator begin () const
const_iterator end () const
iterator begin ()
iterator end ()
LLVM_ABI void print (raw_ostream &OS) const
LLVM_ABI void dump () const

Definition at line 163 of file AliasSetTracker.h.

const_iterator

iterator

llvm::AliasSetTracker::AliasSetTracker ( BatchAAResults & AA) inlineexplicit

Create an empty collection of AliasSets, and use the specified alias analysis object to disambiguate load and store addresses.

Definition at line 176 of file AliasSetTracker.h.

Referenced by add().

~AliasSetTracker()

llvm::AliasSetTracker::~AliasSetTracker ( ) inline

add() [1/9]

add() [2/9]

add() [3/9]

add() [4/9]

add() [5/9]

These methods are used to add different types of instructions to the alias sets.

Adding a new instruction can result in one of three actions happening:

  1. If the instruction doesn't alias any other sets, create a new set.
  2. If the instruction aliases exactly one set, add it to the set
  3. If the instruction aliases multiple sets, merge the sets, and add the instruction to the result.

Definition at line 316 of file AliasSetTracker.cpp.

Referenced by add(), add(), add(), collectPromotionCandidates(), and llvm::AliasSetsPrinterPass::run().

add() [6/9]

Definition at line 373 of file AliasSetTracker.cpp.

References add(), addUnknown(), Call, llvm::dyn_cast(), llvm::enumerate(), llvm::MemoryLocation::getForArgument(), llvm::Value::getType(), I, llvm::isModSet(), llvm::isNoModRef(), llvm::Type::isPointerTy(), llvm::isRefSet(), llvm::PatternMatch::m_Intrinsic(), llvm::PatternMatch::match(), MRI, and llvm::Ref.

add() [7/9]

void AliasSetTracker::add ( LoadInst * LI )

add() [8/9]

add() [9/9]

void AliasSetTracker::add ( VAArgInst * VAAI )

addUnknown()

begin() [1/2]

iterator llvm::AliasSetTracker::begin ( ) inline

begin() [2/2]

const_iterator llvm::AliasSetTracker::begin ( ) const inline

clear()

void AliasSetTracker::clear ( )

dump()

end() [1/2]

iterator llvm::AliasSetTracker::end ( ) inline

end() [2/2]

const_iterator llvm::AliasSetTracker::end ( ) const inline

getAliasAnalysis()

BatchAAResults & llvm::AliasSetTracker::getAliasAnalysis ( ) const inline

Return the underlying alias analysis object used by this tracker.

Definition at line 213 of file AliasSetTracker.h.

getAliasSetFor()

getAliasSets()

print()

AliasSet


The documentation for this class was generated from the following files: