LLVM  8.0.1
Classes | Public Member Functions | Friends | List of all members
llvm::AliasSet Class Reference

#include "llvm/Analysis/AliasSetTracker.h"

Inheritance diagram for llvm::AliasSet:
Inheritance graph
[legend]
Collaboration diagram for llvm::AliasSet:
Collaboration graph
[legend]

Classes

class  iterator
 Define an iterator for alias sets... this is just a forward iterator. More...
 

Public Member Functions

 AliasSet (const AliasSet &)=delete
 
AliasSetoperator= (const AliasSet &)=delete
 
bool isRef () const
 Accessors... More...
 
bool isMod () const
 
bool isMustAlias () const
 
bool isMayAlias () const
 
bool isForwardingAliasSet () const
 Return true if this alias set should be ignored as part of the AliasSetTracker object. More...
 
void mergeSetIn (AliasSet &AS, AliasSetTracker &AST)
 Merge the specified alias set into this alias set. More...
 
iterator begin () const
 
iterator end () const
 
bool empty () const
 
unsigned size ()
 
InstructiongetUniqueInstruction ()
 If this alias set is known to contain a single instruction and only a single unique instruction, return it. More...
 
void print (raw_ostream &OS) const
 
void dump () const
 
bool aliasesPointer (const Value *Ptr, LocationSize Size, const AAMDNodes &AAInfo, AliasAnalysis &AA) const
 Return true if the specified pointer "may" (or must) alias one of the members in the set. More...
 
bool aliasesUnknownInst (const Instruction *Inst, AliasAnalysis &AA) const
 
- Public Member Functions inherited from llvm::ilist_node_impl< ilist_detail::compute_node_options< AliasSet, Options... >::type >
self_iterator getIterator ()
 
const_self_iterator getIterator () const
 
reverse_self_iterator getReverseIterator ()
 
const_reverse_self_iterator getReverseIterator () const
 
bool isSentinel () const
 Check whether this is the sentinel node. More...
 

Friends

class AliasSetTracker
 

Additional Inherited Members

- Protected Types inherited from llvm::ilist_node_impl< ilist_detail::compute_node_options< AliasSet, Options... >::type >
using self_iterator = ilist_iterator< ilist_detail::compute_node_options< AliasSet, Options... >::type, false, false >
 
using const_self_iterator = ilist_iterator< ilist_detail::compute_node_options< AliasSet, Options... >::type, false, true >
 
using reverse_self_iterator = ilist_iterator< ilist_detail::compute_node_options< AliasSet, Options... >::type, true, false >
 
using const_reverse_self_iterator = ilist_iterator< ilist_detail::compute_node_options< AliasSet, Options... >::type, true, true >
 
- Protected Member Functions inherited from llvm::ilist_node_impl< ilist_detail::compute_node_options< AliasSet, Options... >::type >
 ilist_node_impl ()=default
 

Detailed Description

Definition at line 47 of file AliasSetTracker.h.

Constructor & Destructor Documentation

◆ AliasSet()

llvm::AliasSet::AliasSet ( const AliasSet )
delete

Member Function Documentation

◆ aliasesPointer()

bool AliasSet::aliasesPointer ( const Value Ptr,
LocationSize  Size,
const AAMDNodes AAInfo,
AliasAnalysis AA 
) const

Return true if the specified pointer "may" (or must) alias one of the members in the set.

aliasesPointer - Return true if the specified pointer "may" (or must) alias one of the members in the set.

Definition at line 190 of file AliasSetTracker.cpp.

References llvm::AAResults::alias(), assert(), begin(), E, end(), llvm::AAResults::getModRefInfo(), I, and llvm::isModOrRefSet().

Referenced by llvm::AliasSet::iterator::operator++().

◆ aliasesUnknownInst()

bool AliasSet::aliasesUnknownInst ( const Instruction Inst,
AliasAnalysis AA 
) const

◆ begin()

iterator llvm::AliasSet::begin ( ) const
inline

◆ dump()

LLVM_DUMP_METHOD void AliasSet::dump ( ) const

Definition at line 674 of file AliasSetTracker.cpp.

References llvm::dbgs(), and print().

Referenced by llvm::AliasSetTracker::end(), and size().

◆ empty()

bool llvm::AliasSet::empty ( ) const
inline

Definition at line 223 of file AliasSetTracker.h.

Referenced by print().

◆ end()

iterator llvm::AliasSet::end ( ) const
inline

◆ getUniqueInstruction()

Instruction * AliasSet::getUniqueInstruction ( )

If this alias set is known to contain a single instruction and only a single unique instruction, return it.

Otherwise, return nullptr.

Definition at line 254 of file AliasSetTracker.cpp.

References assert(), begin(), end(), llvm::Value::user_begin(), llvm::Value::user_empty(), and llvm::Value::user_end().

Referenced by llvm::canSinkOrHoistInst(), and size().

◆ isForwardingAliasSet()

bool llvm::AliasSet::isForwardingAliasSet ( ) const
inline

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

Definition at line 213 of file AliasSetTracker.h.

References mergeSetIn().

◆ isMayAlias()

bool llvm::AliasSet::isMayAlias ( ) const
inline

Definition at line 209 of file AliasSetTracker.h.

◆ isMod()

bool llvm::AliasSet::isMod ( ) const
inline

Definition at line 207 of file AliasSetTracker.h.

Referenced by pointerInvalidatedByLoop().

◆ isMustAlias()

bool llvm::AliasSet::isMustAlias ( ) const
inline

Definition at line 208 of file AliasSetTracker.h.

Referenced by mergeSetIn().

◆ isRef()

bool llvm::AliasSet::isRef ( ) const
inline

Accessors...

Definition at line 206 of file AliasSetTracker.h.

◆ mergeSetIn()

void AliasSet::mergeSetIn ( AliasSet AS,
AliasSetTracker AST 
)

Merge the specified alias set into this alias set.

mergeSetIn - Merge the specified alias set into this alias set.

Definition at line 51 of file AliasSetTracker.cpp.

References llvm::AAResults::alias(), assert(), llvm::AliasSetTracker::getAliasAnalysis(), I, llvm::isGuard(), isMustAlias(), llvm::PatternMatch::match(), llvm::Instruction::mayWriteToMemory(), llvm::MustAlias, llvm::NoAlias, P, Size, size(), std::swap(), and llvm::Value::use_empty().

Referenced by llvm::AliasSetTracker::clear(), and isForwardingAliasSet().

◆ operator=()

AliasSet& llvm::AliasSet::operator= ( const AliasSet )
delete

◆ print()

void AliasSet::print ( raw_ostream OS) const

◆ size()

unsigned llvm::AliasSet::size ( )
inline

Definition at line 227 of file AliasSetTracker.h.

References dump(), getUniqueInstruction(), and print().

Referenced by mergeSetIn().

Friends And Related Function Documentation

◆ AliasSetTracker

friend class AliasSetTracker
friend

Definition at line 48 of file AliasSetTracker.h.

Referenced by llvm::AliasSetTracker::dump().


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