LLVM
8.0.1
|
#include "llvm/Analysis/AliasSetTracker.h"
Classes | |
class | iterator |
Define an iterator for alias sets... this is just a forward iterator. 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 | |
Definition at line 47 of file AliasSetTracker.h.
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++().
bool AliasSet::aliasesUnknownInst | ( | const Instruction * | Inst, |
AliasAnalysis & | AA | ||
) | const |
Definition at line 227 of file AliasSetTracker.cpp.
References assert(), begin(), llvm::dyn_cast(), E, end(), llvm::AAResults::getModRefInfo(), I, llvm::isModOrRefSet(), and llvm::Instruction::mayReadOrWriteMemory().
Referenced by llvm::AliasSet::iterator::operator++().
|
inline |
Definition at line 221 of file AliasSetTracker.h.
Referenced by llvm::AliasSetTracker::add(), aliasesPointer(), aliasesUnknownInst(), llvm::AliasSetTracker::clear(), llvm::AliasSetTracker::copyValue(), getUniqueInstruction(), and print().
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().
|
inline |
Definition at line 223 of file AliasSetTracker.h.
Referenced by print().
|
inline |
Definition at line 222 of file AliasSetTracker.h.
Referenced by llvm::AliasSetTracker::add(), aliasesPointer(), aliasesUnknownInst(), llvm::AliasSetTracker::clear(), llvm::AliasSetTracker::copyValue(), getUniqueInstruction(), and print().
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().
|
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().
|
inline |
Definition at line 209 of file AliasSetTracker.h.
|
inline |
Definition at line 207 of file AliasSetTracker.h.
Referenced by pointerInvalidatedByLoop().
|
inline |
Definition at line 208 of file AliasSetTracker.h.
Referenced by mergeSetIn().
|
inline |
Accessors...
Definition at line 206 of file AliasSetTracker.h.
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().
void AliasSet::print | ( | raw_ostream & | OS | ) | const |
Definition at line 626 of file AliasSetTracker.cpp.
References begin(), E, empty(), end(), llvm::Value::hasName(), I, llvm_unreachable, llvm::Value::print(), llvm::Value::printAsOperand(), and llvm::LocationSize::unknown().
Referenced by dump(), llvm::AliasSetTracker::dump(), llvm::AliasSetTracker::end(), llvm::operator<<(), llvm::AliasSetTracker::print(), and size().
|
inline |
Definition at line 227 of file AliasSetTracker.h.
References dump(), getUniqueInstruction(), and print().
Referenced by mergeSetIn().
|
friend |
Definition at line 48 of file AliasSetTracker.h.
Referenced by llvm::AliasSetTracker::dump().