Lines Matching refs:AS
48 void AliasSet::mergeSetIn(AliasSet &AS, AliasSetTracker &AST) { in mergeSetIn() argument
49 assert(!AS.Forward && "Alias set is already forwarding!"); in mergeSetIn()
54 Access |= AS.Access; in mergeSetIn()
55 Alias |= AS.Alias; in mergeSetIn()
63 PointerRec *R = AS.getSomePointer(); in mergeSetIn()
75 if (AS.Alias == SetMustAlias) in mergeSetIn()
76 AST.TotalMayAliasSetSize += AS.size(); in mergeSetIn()
79 bool ASHadUnknownInsts = !AS.UnknownInsts.empty(); in mergeSetIn()
82 std::swap(UnknownInsts, AS.UnknownInsts); in mergeSetIn()
86 llvm::append_range(UnknownInsts, AS.UnknownInsts); in mergeSetIn()
87 AS.UnknownInsts.clear(); in mergeSetIn()
90 AS.Forward = this; // Forward across AS now... in mergeSetIn()
94 if (AS.PtrList) { in mergeSetIn()
95 SetSize += AS.size(); in mergeSetIn()
96 AS.SetSize = 0; in mergeSetIn()
97 *PtrListEnd = AS.PtrList; in mergeSetIn()
98 AS.PtrList->setPrevInList(PtrListEnd); in mergeSetIn()
99 PtrListEnd = AS.PtrListEnd; in mergeSetIn()
101 AS.PtrList = nullptr; in mergeSetIn()
102 AS.PtrListEnd = &AS.PtrList; in mergeSetIn()
103 assert(*AS.PtrListEnd == nullptr && "End of list is not null?"); in mergeSetIn()
106 AS.dropRef(AST); in mergeSetIn()
109 void AliasSetTracker::removeAliasSet(AliasSet *AS) { in removeAliasSet() argument
110 if (AliasSet *Fwd = AS->Forward) { in removeAliasSet()
112 AS->Forward = nullptr; in removeAliasSet()
114 if (AS->Alias == AliasSet::SetMayAlias) in removeAliasSet()
115 TotalMayAliasSetSize -= AS->size(); in removeAliasSet()
117 AliasSets.erase(AS); in removeAliasSet()
120 if (AS == AliasAnyAS) { in removeAliasSet()
307 for (AliasSet &AS : llvm::make_early_inc_range(*this)) { in mergeAliasSetsForPointer()
308 if (AS.Forward) in mergeAliasSetsForPointer()
311 AliasResult AR = AS.aliasesPointer(Ptr, Size, AAInfo, AA); in mergeAliasSetsForPointer()
320 FoundSet = &AS; in mergeAliasSetsForPointer()
323 FoundSet->mergeSetIn(AS, *this); in mergeAliasSetsForPointer()
332 for (AliasSet &AS : llvm::make_early_inc_range(*this)) { in findAliasSetForUnknownInst()
333 if (AS.Forward || !AS.aliasesUnknownInst(Inst, AA)) in findAliasSetForUnknownInst()
337 FoundSet = &AS; in findAliasSetForUnknownInst()
340 FoundSet->mergeSetIn(AS, *this); in findAliasSetForUnknownInst()
384 if (AliasSet *AS = in getAliasSetFor() local
387 AS->addPointer(*this, Entry, Size, AAInfo, MustAliasAll); in getAliasSetFor()
388 return *AS; in getAliasSetFor()
448 if (AliasSet *AS = findAliasSetForUnknownInst(Inst)) { in addUnknown() local
449 AS->addUnknownInst(Inst, AA); in addUnknown()
523 for (const AliasSet &AS : AST) { in add() local
524 if (AS.Forward) in add()
528 for (unsigned i = 0, e = AS.UnknownInsts.size(); i != e; ++i) in add()
529 if (auto *Inst = AS.getUnknownInst(i)) in add()
533 for (AliasSet::iterator ASI = AS.begin(), E = AS.end(); ASI != E; ++ASI) in add()
536 (AliasSet::AccessLattice)AS.Access); in add()
552 AliasSet *AS = PtrValEnt->getAliasSet(*this); in deleteValue() local
557 if (AS->Alias == AliasSet::SetMayAlias) { in deleteValue()
558 AS->SetSize--; in deleteValue()
563 AS->dropRef(*this); in deleteValue()
586 AliasSet *AS = I->second->getAliasSet(*this); in copyValue() local
587 AS->addPointer(*this, Entry, I->second->getSize(), I->second->getAAInfo(), in copyValue()
600 for (AliasSet &AS : *this) in mergeAllAliasSets()
601 ASVector.push_back(&AS); in mergeAllAliasSets()
630 AliasSet &AS = getAliasSetFor(Loc); in addPointer() local
631 AS.Access |= E; in addPointer()
639 return AS; in addPointer()
692 for (const AliasSet &AS : *this) in print()
693 AS.print(OS); in print()