LLVM 20.0.0git
Public Types | 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]

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.
 
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
 
PointerVector getPointers () const
 
void print (raw_ostream &OS) const
 
void dump () const
 
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.
 
ModRefInfo aliasesUnknownInst (const Instruction *Inst, BatchAAResults &AA) const
 
- Public Member Functions inherited from llvm::ilist_node_impl< OptionsT >
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.
 
- Public Member Functions inherited from llvm::ilist_detail::node_parent_access< ilist_node_impl< OptionsT >, OptionsT::parent_ty >
const OptionsT::parent_ty * getParent () const
 
OptionsT::parent_ty * getParent ()
 
void setParent (OptionsT::parent_ty *Parent)
 

Friends

class AliasSetTracker
 

Additional Inherited Members

- Protected Types inherited from llvm::ilist_node_impl< OptionsT >
using self_iterator = typename ilist_select_iterator_type< OptionsT::has_iterator_bits, OptionsT, false, false >::type
 
using const_self_iterator = typename ilist_select_iterator_type< OptionsT::has_iterator_bits, OptionsT, false, true >::type
 
using reverse_self_iterator = typename ilist_select_iterator_type< OptionsT::has_iterator_bits, OptionsT, true, false >::type
 
using const_reverse_self_iterator = typename ilist_select_iterator_type< OptionsT::has_iterator_bits, OptionsT, true, true >::type
 
- Protected Member Functions inherited from llvm::ilist_node_impl< OptionsT >
 ilist_node_impl ()=default
 

Detailed Description

Definition at line 48 of file AliasSetTracker.h.

Member Typedef Documentation

◆ iterator

Definition at line 120 of file AliasSetTracker.h.

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

Constructor & Destructor Documentation

◆ AliasSet()

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

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 154 of file AliasSetTracker.cpp.

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

◆ aliasesUnknownInst()

ModRefInfo AliasSet::aliasesUnknownInst ( const Instruction Inst,
BatchAAResults AA 
) const

◆ begin()

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

◆ dump()

LLVM_DUMP_METHOD void AliasSet::dump ( ) const

Definition at line 565 of file AliasSetTracker.cpp.

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

◆ end()

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

◆ getPointers()

AliasSet::PointerVector AliasSet::getPointers ( ) const

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

◆ isMayAlias()

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

Definition at line 109 of file AliasSetTracker.h.

◆ isMod()

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

Definition at line 107 of file AliasSetTracker.h.

◆ isMustAlias()

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

Definition at line 108 of file AliasSetTracker.h.

◆ isRef()

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

Accessors...

Definition at line 106 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 44 of file AliasSetTracker.cpp.

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

◆ operator=()

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

◆ print()

void AliasSet::print ( raw_ostream OS) const

◆ size()

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

Definition at line 124 of file AliasSetTracker.h.

References llvm::SmallVectorBase< Size_T >::size().

Friends And Related Function Documentation

◆ AliasSetTracker

friend class AliasSetTracker
friend

Definition at line 49 of file AliasSetTracker.h.


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