Lines Matching refs:AS
44 void AliasSet::mergeSetIn(AliasSet &AS, AliasSetTracker &AST) { in mergeSetIn() argument
45 assert(!AS.Forward && "Alias set is already forwarding!"); in mergeSetIn()
50 Access |= AS.Access; in mergeSetIn()
51 Alias |= AS.Alias; in mergeSetIn()
59 PointerRec *R = AS.getSomePointer(); in mergeSetIn()
71 if (AS.Alias == SetMustAlias) in mergeSetIn()
72 AST.TotalMayAliasSetSize += AS.size(); in mergeSetIn()
75 bool ASHadUnknownInsts = !AS.UnknownInsts.empty(); in mergeSetIn()
78 std::swap(UnknownInsts, AS.UnknownInsts); in mergeSetIn()
82 llvm::append_range(UnknownInsts, AS.UnknownInsts); in mergeSetIn()
83 AS.UnknownInsts.clear(); in mergeSetIn()
86 AS.Forward = this; // Forward across AS now... in mergeSetIn()
90 if (AS.PtrList) { in mergeSetIn()
91 SetSize += AS.size(); in mergeSetIn()
92 AS.SetSize = 0; in mergeSetIn()
93 *PtrListEnd = AS.PtrList; in mergeSetIn()
94 AS.PtrList->setPrevInList(PtrListEnd); in mergeSetIn()
95 PtrListEnd = AS.PtrListEnd; in mergeSetIn()
97 AS.PtrList = nullptr; in mergeSetIn()
98 AS.PtrListEnd = &AS.PtrList; in mergeSetIn()
99 assert(*AS.PtrListEnd == nullptr && "End of list is not null?"); in mergeSetIn()
102 AS.dropRef(AST); in mergeSetIn()
105 void AliasSetTracker::removeAliasSet(AliasSet *AS) { in removeAliasSet() argument
106 if (AliasSet *Fwd = AS->Forward) { in removeAliasSet()
108 AS->Forward = nullptr; in removeAliasSet()
110 if (AS->Alias == AliasSet::SetMayAlias) in removeAliasSet()
111 TotalMayAliasSetSize -= AS->size(); in removeAliasSet()
113 AliasSets.erase(AS); in removeAliasSet()
116 if (AS == AliasAnyAS) { in removeAliasSet()
278 for (AliasSet &AS : llvm::make_early_inc_range(*this)) { in mergeAliasSetsForPointer()
279 if (AS.Forward) in mergeAliasSetsForPointer()
282 AliasResult AR = AS.aliasesPointer(Ptr, Size, AAInfo, AA); in mergeAliasSetsForPointer()
291 FoundSet = &AS; in mergeAliasSetsForPointer()
294 FoundSet->mergeSetIn(AS, *this); in mergeAliasSetsForPointer()
303 for (AliasSet &AS : llvm::make_early_inc_range(*this)) { in findAliasSetForUnknownInst()
304 if (AS.Forward || !AS.aliasesUnknownInst(Inst, AA)) in findAliasSetForUnknownInst()
308 FoundSet = &AS; in findAliasSetForUnknownInst()
311 FoundSet->mergeSetIn(AS, *this); in findAliasSetForUnknownInst()
355 if (AliasSet *AS = in getAliasSetFor() local
358 AS->addPointer(*this, Entry, Size, AAInfo, MustAliasAll); in getAliasSetFor()
359 return *AS; in getAliasSetFor()
419 if (AliasSet *AS = findAliasSetForUnknownInst(Inst)) { in addUnknown() local
420 AS->addUnknownInst(Inst, AA); in addUnknown()
494 for (const AliasSet &AS : AST) { in add() local
495 if (AS.Forward) in add()
499 for (unsigned i = 0, e = AS.UnknownInsts.size(); i != e; ++i) in add()
500 if (auto *Inst = AS.getUnknownInst(i)) in add()
504 for (AliasSet::iterator ASI = AS.begin(), E = AS.end(); ASI != E; ++ASI) in add()
507 (AliasSet::AccessLattice)AS.Access); in add()
523 AliasSet *AS = PtrValEnt->getAliasSet(*this); in deleteValue() local
528 if (AS->Alias == AliasSet::SetMayAlias) { in deleteValue()
529 AS->SetSize--; in deleteValue()
534 AS->dropRef(*this); in deleteValue()
557 AliasSet *AS = I->second->getAliasSet(*this); in copyValue() local
558 AS->addPointer(*this, Entry, I->second->getSize(), I->second->getAAInfo(), in copyValue()
571 for (AliasSet &AS : *this) in mergeAllAliasSets()
572 ASVector.push_back(&AS); in mergeAllAliasSets()
601 AliasSet &AS = getAliasSetFor(Loc); in addPointer() local
602 AS.Access |= E; in addPointer()
610 return AS; in addPointer()
663 for (const AliasSet &AS : *this) in print()
664 AS.print(OS); in print()