Home | History | Annotate | Download | only in Analysis

Lines Matching refs:AS

30 void AliasSet::mergeSetIn(AliasSet &AS, AliasSetTracker &AST) {
31 assert(!AS.Forward && "Alias set is already forwarding!");
35 AccessTy |= AS.AccessTy;
36 AliasTy |= AS.AliasTy;
37 Volatile |= AS.Volatile;
45 PointerRec *R = AS.getSomePointer();
59 if (!AS.UnknownInsts.empty())
60 std::swap(UnknownInsts, AS.UnknownInsts);
61 } else if (!AS.UnknownInsts.empty()) {
62 UnknownInsts.insert(UnknownInsts.end(), AS.UnknownInsts.begin(), AS.UnknownInsts.end());
63 AS.UnknownInsts.clear();
66 AS.Forward = this; // Forward across AS now...
67 addRef(); // AS is now pointing to us...
70 if (AS.PtrList) {
71 *PtrListEnd = AS.PtrList;
72 AS.PtrList->setPrevInList(PtrListEnd);
73 PtrListEnd = AS.PtrListEnd;
75 AS.PtrList = nullptr;
76 AS.PtrListEnd = &AS.PtrList;
77 assert(*AS.PtrListEnd == nullptr && "End of list is not null?");
81 void AliasSetTracker::removeAliasSet(AliasSet *AS) {
82 if (AliasSet *Fwd = AS->Forward) {
84 AS->Forward = nullptr;
86 AliasSets.erase(AS);
278 if (AliasSet *AS = findAliasSetForPointer(Pointer, Size, TBAAInfo)) {
280 AS->addPointer(*this, Entry, Size, TBAAInfo);
281 return *AS;
302 AliasSet &AS = addPointer(LI->getOperand(0),
306 if (LI->isVolatile()) AS.setVolatile();
315 AliasSet &AS = addPointer(SI->getOperand(1),
319 if (SI->isVolatile()) AS.setVolatile();
338 AliasSet *AS = findAliasSetForUnknownInst(Inst);
339 if (AS) {
340 AS->addUnknownInst(Inst, AA);
344 AS = &AliasSets.back();
345 AS->addUnknownInst(Inst, AA);
375 AliasSet &AS = const_cast<AliasSet&>(*I);
378 for (unsigned i = 0, e = AS.UnknownInsts.size(); i != e; ++i)
379 add(AS.UnknownInsts[i]);
383 for (AliasSet::iterator ASI = AS.begin(), E = AS.end(); ASI != E; ++ASI) {
386 (AliasSet::AccessType)AS.AccessTy, X);
387 if (AS.isVolatile()) NewAS.setVolatile();
394 void AliasSetTracker::remove(AliasSet &AS) {
396 AS.UnknownInsts.clear();
400 while (!AS.empty()) {
401 AliasSet::PointerRec *P = AS.PtrList;
416 AS.RefCount -= NumRefs;
417 if (AS.RefCount == 0)
418 AS.removeFromTracker(*this);
423 AliasSet *AS = findAliasSetForPointer(Ptr, Size, TBAAInfo);
424 if (!AS) return false;
425 remove(*AS);
432 AliasSet *AS = findAliasSetForPointer(LI->getOperand(0), Size, TBAAInfo);
433 if (!AS) return false;
434 remove(*AS);
441 AliasSet *AS = findAliasSetForPointer(SI->getOperand(1), Size, TBAAInfo);
442 if (!AS) return false;
443 remove(*AS);
448 AliasSet *AS = findAliasSetForPointer(VAAI->getOperand(0),
451 if (!AS) return false;
452 remove(*AS);
460 AliasSet *AS = findAliasSetForUnknownInst(I);
461 if (!AS) return false;
462 remove(*AS);
506 AliasSet *AS = PtrValEnt->getAliasSet(*this);
512 AS->dropRef(*this);
537 AliasSet *AS = I->second->getAliasSet(*this);
538 AS->addPointer(*this, Entry, I->second->getSize(),