Lines Matching defs:AliasSet
10 // This file defines two classes: AliasSetTracker and AliasSet. These interface
12 // of disjoint sets. Each AliasSet object constructed by the AliasSetTracker
33 class AliasSet;
35 class AliasSet : public ilist_node<AliasSet> {
41 AliasSet *AS;
82 AliasSet *getAliasSet(AliasSetTracker &AST) {
83 assert(AS && "No AliasSet yet!");
85 AliasSet *OldAS = AS;
93 void setAliasSet(AliasSet *as) {
110 AliasSet *Forward; // Forwarding pointer.
115 // RefCount - Number of nodes pointing to this AliasSet plus the number of
170 void mergeSetIn(AliasSet &AS, AliasSetTracker &AST);
200 assert(CurNode && "Dereferencing AliasSet.end()!");
210 assert(CurNode && "Advancing past AliasSet.end()!");
222 friend struct ilist_sentinel_traits<AliasSet>;
223 AliasSet() : PtrList(0), PtrListEnd(&PtrList), Forward(0), RefCount(0),
227 AliasSet(const AliasSet &AS) LLVM_DELETED_FUNCTION;
228 void operator=(const AliasSet &AS) LLVM_DELETED_FUNCTION;
237 AliasSet *getForwardedTarget(AliasSetTracker &AST) {
240 AliasSet *Dest = Forward->getForwardedTarget(AST);
274 inline raw_ostream& operator<<(raw_ostream &OS, const AliasSet &AS) {
296 ilist<AliasSet> AliasSets;
298 typedef DenseMap<ASTCallbackVH, AliasSet::PointerRec*,
342 void remove(AliasSet &AS);
349 const ilist<AliasSet> &getAliasSets() const { return AliasSets; }
355 AliasSet &getAliasSetForPointer(Value *P, uint64_t Size,
361 AliasSet *getAliasSetForPointerIfExists(Value *P, uint64_t Size,
391 typedef ilist<AliasSet>::iterator iterator;
392 typedef ilist<AliasSet>::const_iterator const_iterator;
404 friend class AliasSet;
405 void removeAliasSet(AliasSet *AS);
409 AliasSet::PointerRec &getEntryFor(Value *V) {
410 AliasSet::PointerRec *&Entry = PointerMap[ASTCallbackVH(V, this)];
412 Entry = new AliasSet::PointerRec(V);
416 AliasSet &addPointer(Value *P, uint64_t Size, const MDNode *TBAAInfo,
417 AliasSet::AccessType E,
420 AliasSet &AS = getAliasSetForPointer(P, Size, TBAAInfo, &NewSet);
424 AliasSet *findAliasSetForPointer(const Value *Ptr, uint64_t Size,
427 AliasSet *findAliasSetForUnknownInst(Instruction *Inst);