LLVM 22.0.0git
llvm::AliasSet Class Reference

#include "llvm/Analysis/AliasSetTracker.h"

Inheritance diagram for llvm::AliasSet:
[legend]

Public Types

using iterator = SmallVectorImpl<MemoryLocation>::const_iterator
using PointerVector = SmallVector<const Value *, 8>
 Retrieve the pointer values for the memory locations in this alias set.

Public Member Functions

 AliasSet (const AliasSet &)=delete
AliasSetoperator= (const AliasSet &)=delete
bool isRef () const
 Accessors...
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.
LLVM_ABI void mergeSetIn (AliasSet &AS, AliasSetTracker &AST, BatchAAResults &BatchAA)
 Merge the specified alias set into this alias set.
iterator begin () const
iterator end () const
unsigned size () const
LLVM_ABI PointerVector getPointers () const
LLVM_ABI void print (raw_ostream &OS) const
LLVM_ABI void dump () const
LLVM_ABI AliasResult aliasesMemoryLocation (const MemoryLocation &MemLoc, BatchAAResults &AA) const
 If the specified memory location "may" (or must) alias one of the members in the set return the appropriate AliasResult.
LLVM_ABI ModRefInfo aliasesUnknownInst (const Instruction *Inst, BatchAAResults &AA) const
Public Member Functions inherited from llvm::ilist_node_impl< ilist_detail::compute_node_options< AliasSet, Options... >::type >
self_iterator getIterator ()
reverse_self_iterator getReverseIterator ()
std::enable_if_t< T::is_sentinel_tracking_explicit, boolisSentinel () const
 Check whether this is the sentinel node.
Public Member Functions inherited from llvm::ilist_detail::node_parent_access< ilist_node_impl< ilist_detail::compute_node_options< AliasSet, Options... >::type >, ilist_detail::compute_node_options< AliasSet, Options... >::type::parent_ty >
const ilist_detail::compute_node_options< AliasSet, Options... >::type::parent_ty * getParent () const
void setParent (ilist_detail::compute_node_options< AliasSet, Options... >::type::parent_ty *Parent)

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
using const_self_iterator
using reverse_self_iterator
using const_reverse_self_iterator
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 49 of file AliasSetTracker.h.

Member Typedef Documentation

◆ iterator

◆ PointerVector

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

The order matches that of the memory locations, but duplicate pointer values are omitted.

Definition at line 131 of file AliasSetTracker.h.

Constructor & Destructor Documentation

◆ AliasSet()

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

References AliasSet().

Referenced by AliasSet(), AliasSetTracker, mergeSetIn(), and operator=().

Member Function Documentation

◆ aliasesMemoryLocation()

AliasResult AliasSet::aliasesMemoryLocation ( const MemoryLocation & MemLoc,
BatchAAResults & AA ) const

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

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

Otherwise return NoAlias.

Definition at line 153 of file AliasSetTracker.cpp.

References llvm::isModOrRefSet(), llvm::AliasResult::MayAlias, and llvm::AliasResult::NoAlias.

◆ aliasesUnknownInst()

◆ begin()

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

Definition at line 123 of file AliasSetTracker.h.

◆ dump()

LLVM_DUMP_METHOD void AliasSet::dump ( ) const

Definition at line 561 of file AliasSetTracker.cpp.

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

◆ end()

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

Definition at line 124 of file AliasSetTracker.h.

◆ getPointers()

◆ 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 114 of file AliasSetTracker.h.

◆ isMayAlias()

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

Definition at line 110 of file AliasSetTracker.h.

◆ isMod()

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

Definition at line 108 of file AliasSetTracker.h.

◆ isMustAlias()

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

Definition at line 109 of file AliasSetTracker.h.

◆ isRef()

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

Accessors...

Definition at line 107 of file AliasSetTracker.h.

◆ mergeSetIn()

void AliasSet::mergeSetIn ( AliasSet & AS,
AliasSetTracker & AST,
BatchAAResults & BatchAA )

Merge the specified alias set into this alias set.

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

Definition at line 43 of file AliasSetTracker.cpp.

References AliasSet(), AliasSetTracker, llvm::any_of(), llvm::append_range(), assert(), and std::swap().

◆ operator=()

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

References AliasSet().

◆ print()

◆ size()

unsigned llvm::AliasSet::size ( ) const
inline

Definition at line 126 of file AliasSetTracker.h.

◆ AliasSetTracker

friend class AliasSetTracker
friend

Definition at line 50 of file AliasSetTracker.h.

References AliasSet(), and AliasSetTracker.

Referenced by AliasSetTracker, and mergeSetIn().


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