Lines Matching defs:AS

53 void AliasSet::mergeSetIn(AliasSet &AS, AliasSetTracker &AST) {
54 assert(!AS.Forward && "Alias set is already forwarding!");
59 Access |= AS.Access;
60 Alias |= AS.Alias;
68 PointerRec *R = AS.getSomePointer();
80 if (AS.Alias == SetMustAlias)
81 AST.TotalMayAliasSetSize += AS.size();
84 bool ASHadUnknownInsts = !AS.UnknownInsts.empty();
87 std::swap(UnknownInsts, AS.UnknownInsts);
91 UnknownInsts.insert(UnknownInsts.end(), AS.UnknownInsts.begin(), AS.UnknownInsts.end());
92 AS.UnknownInsts.clear();
95 AS.Forward = this; // Forward across AS now...
96 addRef(); // AS is now pointing to us...
99 if (AS.PtrList) {
100 SetSize += AS.size();
101 AS.SetSize = 0;
102 *PtrListEnd = AS.PtrList;
103 AS.PtrList->setPrevInList(PtrListEnd);
104 PtrListEnd = AS.PtrListEnd;
106 AS.PtrList = nullptr;
107 AS.PtrListEnd = &AS.PtrList;
108 assert(*AS.PtrListEnd == nullptr && "End of list is not null?");
111 AS.dropRef(AST);
114 void AliasSetTracker::removeAliasSet(AliasSet *AS) {
115 if (AliasSet *Fwd = AS->Forward) {
117 AS->Forward = nullptr;
119 if (AS->Alias == AliasSet::SetMayAlias)
120 TotalMayAliasSetSize -= AS->size();
122 AliasSets.erase(AS);
125 if (AS == AliasAnyAS) {
391 if (AliasSet *AS =
394 AS->addPointer(*this, Entry, Size, AAInfo, MustAliasAll);
395 return *AS;
453 if (AliasSet *AS = findAliasSetForUnknownInst(Inst)) {
454 AS->addUnknownInst(Inst, AA);
528 for (const AliasSet &AS : AST) {
529 if (AS.Forward)
533 for (unsigned i = 0, e = AS.UnknownInsts.size(); i != e; ++i)
534 if (auto *Inst = AS.getUnknownInst(i))
538 for (AliasSet::iterator ASI = AS.begin(), E = AS.end(); ASI != E; ++ASI)
541 (AliasSet::AccessLattice)AS.Access);
566 AliasSet *AS = PtrValEnt->getAliasSet(*this);
571 if (AS->Alias == AliasSet::SetMayAlias) {
572 AS->SetSize--;
577 AS->dropRef(*this);
600 AliasSet *AS = I->second->getAliasSet(*this);
601 AS->addPointer(*this, Entry, I->second->getSize(), I->second->getAAInfo(),
626 // If Cur was already forwarding, just forward to the new AS instead.
644 AliasSet &AS = getAliasSetFor(Loc);
645 AS.Access |= E;
653 return AS;
704 for (const AliasSet &AS : *this)
705 AS.print(OS);