reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

include/llvm/Analysis/IVDescriptors.h
   36 class AliasSet;
include/llvm/Transforms/Utils/LoopUtils.h
   37 class AliasSet;
tools/polly/include/polly/ScopDetectionDiagnostic.h
   32 class AliasSet;

References

include/llvm/ADT/ilist.h
   41   static void deleteNode(NodeTy *V) { delete V; }
   65   void addNodeToList(NodeTy *) {}
   66   void removeNodeFromList(NodeTy *) {}
   82 struct ilist_node_traits : ilist_alloc_traits<NodeTy>,
   83                            ilist_callback_traits<NodeTy> {};
   89 struct ilist_traits : public ilist_node_traits<NodeTy> {};
   96 template <class T> T &make();
  106   static Yes &test(U *I, decltype(I->getNext(&make<NodeT>())) * = 0);
  136   static Yes &test(U *I, decltype(I->createNode(make<NodeT>())) * = 0);
  144   static const bool value = HasGetNext<TraitsT, NodeT>::value ||
  146                             HasCreateNode<TraitsT, NodeT>::value;
  389     : public iplist_impl<simple_ilist<T, Options...>, ilist_traits<T>> {
  389     : public iplist_impl<simple_ilist<T, Options...>, ilist_traits<T>> {
include/llvm/ADT/ilist_node.h
  150           typename ilist_detail::compute_node_options<T, Options...>::type> {
include/llvm/ADT/ilist_node_options.h
  108   typedef T value_type;
  109   typedef T *pointer;
  110   typedef T &reference;
  111   typedef const T *const_pointer;
  112   typedef const T &const_reference;
  122   typedef node_options<T, extract_sentinel_tracking<Options...>::value,
include/llvm/ADT/simple_ilist.h
   79     : ilist_detail::compute_node_options<T, Options...>::type::list_base_type,
   81           typename ilist_detail::compute_node_options<T, Options...>::type> {
   85       typename ilist_detail::compute_node_options<T, Options...>::type;
include/llvm/Analysis/AliasSetTracker.h
   48 class AliasSet : public ilist_node<AliasSet> {
   55     AliasSet *AS = nullptr;
  116     AliasSet *getAliasSet(AliasSetTracker &AST) {
  119         AliasSet *OldAS = AS;
  127     void setAliasSet(AliasSet *as) {
  147   AliasSet *Forward = nullptr;
  204   AliasSet(const AliasSet &) = delete;
  205   AliasSet &operator=(const AliasSet &) = delete;
  205   AliasSet &operator=(const AliasSet &) = delete;
  218   void mergeSetIn(AliasSet &AS, AliasSetTracker &AST);
  284   AliasSet *getForwardedTarget(AliasSetTracker &AST) {
  287     AliasSet *Dest = Forward->getForwardedTarget(AST);
  323 inline raw_ostream& operator<<(raw_ostream &OS, const AliasSet &AS) {
  349   ilist<AliasSet> AliasSets;
  351   using PointerMapType = DenseMap<ASTCallbackVH, AliasSet::PointerRec *,
  392   const ilist<AliasSet> &getAliasSets() const { return AliasSets; }
  398   AliasSet &getAliasSetFor(const MemoryLocation &MemLoc);
  415   using iterator = ilist<AliasSet>::iterator;
  416   using const_iterator = ilist<AliasSet>::const_iterator;
  435   AliasSet *AliasAnyAS = nullptr;
  437   void removeAliasSet(AliasSet *AS);
  441   AliasSet::PointerRec &getEntryFor(Value *V) {
  442     AliasSet::PointerRec *&Entry = PointerMap[ASTCallbackVH(V, this)];
  444       Entry = new AliasSet::PointerRec(V);
  448   AliasSet &addPointer(MemoryLocation Loc, AliasSet::AccessLattice E);
  448   AliasSet &addPointer(MemoryLocation Loc, AliasSet::AccessLattice E);
  449   AliasSet *mergeAliasSetsForPointer(const Value *Ptr, LocationSize Size,
  455   AliasSet &mergeAllAliasSets();
  457   AliasSet *findAliasSetForUnknownInst(Instruction *Inst);
lib/Analysis/AliasSetTracker.cpp
   52 void AliasSet::mergeSetIn(AliasSet &AS, AliasSetTracker &AST) {
  113 void AliasSetTracker::removeAliasSet(AliasSet *AS) {
  114   if (AliasSet *Fwd = AS->Forward) {
  118       if (AS->Alias == AliasSet::SetMayAlias)
  304 AliasSet *AliasSetTracker::mergeAliasSetsForPointer(const Value *Ptr,
  308   AliasSet *FoundSet = nullptr;
  335 AliasSet *AliasSetTracker::findAliasSetForUnknownInst(Instruction *Inst) {
  336   AliasSet *FoundSet = nullptr;
  352 AliasSet &AliasSetTracker::getAliasSetFor(const MemoryLocation &MemLoc) {
  358   AliasSet::PointerRec &Entry = getEntryFor(Pointer);
  390   if (AliasSet *AS =
  398   AliasSets.push_back(new AliasSet());
  405   addPointer(MemoryLocation(Ptr, Size, AAInfo), AliasSet::NoAccess);
  411   addPointer(MemoryLocation::get(LI), AliasSet::RefAccess);
  417   addPointer(MemoryLocation::get(SI), AliasSet::ModAccess);
  421   addPointer(MemoryLocation::get(VAAI), AliasSet::ModRefAccess);
  425   addPointer(MemoryLocation::getForDest(MSI), AliasSet::ModAccess);
  429   addPointer(MemoryLocation::getForDest(MTI), AliasSet::ModAccess);
  430   addPointer(MemoryLocation::getForSource(MTI), AliasSet::RefAccess);
  452   if (AliasSet *AS = findAliasSetForUnknownInst(Inst)) {
  456   AliasSets.push_back(new AliasSet());
  478           return AliasSet::ModRefAccess;
  480           return AliasSet::ModAccess;
  482           return AliasSet::RefAccess;
  484           return AliasSet::NoAccess;
  527   for (const AliasSet &AS : AST) {
  537     for (AliasSet::iterator ASI = AS.begin(), E = AS.end(); ASI != E; ++ASI)
  564   AliasSet::PointerRec *PtrValEnt = I->second;
  565   AliasSet *AS = PtrValEnt->getAliasSet(*this);
  570   if (AS->Alias == AliasSet::SetMayAlias) {
  593   AliasSet::PointerRec &Entry = getEntryFor(To);
  599   AliasSet *AS = I->second->getAliasSet(*this);
  604 AliasSet &AliasSetTracker::mergeAllAliasSets() {
  611   std::vector<AliasSet *> ASVector;
  618   AliasSets.push_back(new AliasSet());
  620   AliasAnyAS->Alias = AliasSet::SetMayAlias;
  621   AliasAnyAS->Access = AliasSet::ModRefAccess;
  626     AliasSet *FwdTo = Cur->Forward;
  641 AliasSet &AliasSetTracker::addPointer(MemoryLocation Loc,
  642                                       AliasSet::AccessLattice E) {
  643   AliasSet &AS = getAliasSetFor(Loc);
  703   for (const AliasSet &AS : *this)
lib/Analysis/LoopAccessAnalysis.cpp
  710   for (auto &AS : AST) {
  837   for (auto &AS : AST) {
lib/Transforms/Scalar/LICM.cpp
  435       for (AliasSet &AS : *CurAST) {
 1048     for (AliasSet &AS : *CurAST) {
 1210       auto &AS = CurAST->getAliasSetFor(MemoryLocation::get(SI));
lib/Transforms/Scalar/LoopRerollPass.cpp
 1311         for (auto &K : AST) {
lib/Transforms/Scalar/LoopVersioningLICM.cpp
  281   for (const auto &I : *CurAST) {
  282     const AliasSet &AS = I;
tools/polly/include/polly/ScopDetectionDiagnostic.h
  680   ReportAlias(Instruction *Inst, AliasSet &AS);
tools/polly/lib/Analysis/ScopBuilder.cpp
 3380   for (AliasSet &AS : AST) {
tools/polly/lib/Analysis/ScopDetection.cpp
  385                                    Args &&... Arguments) const {
 1126   AliasSet &AS = Context.AST.getAliasSetFor(
tools/polly/lib/Analysis/ScopDetectionDiagnostic.cpp
  607 ReportAlias::ReportAlias(Instruction *Inst, AliasSet &AS)
unittests/Analysis/AliasSetTrackerTest.cpp
   79     for (AliasSet &AS : AST) {
usr/include/c++/7.4.0/bits/alloc_traits.h
  474 	construct(allocator_type& __a, _Up* __p, _Args&&... __args)
usr/include/c++/7.4.0/bits/move.h
   72     constexpr _Tp&&
   83     constexpr _Tp&&
usr/include/c++/7.4.0/bits/shared_ptr.h
  343 		   _Args&&... __args)
  688     allocate_shared(const _Alloc& __a, _Args&&... __args)
  703     make_shared(_Args&&... __args)
usr/include/c++/7.4.0/bits/shared_ptr_base.h
 1317 		     _Args&&... __args)
usr/include/c++/7.4.0/ext/new_allocator.h
  135 	construct(_Up* __p, _Args&&... __args)
usr/include/c++/7.4.0/type_traits
 1633     { typedef _Tp   type; };