Lines Matching refs:AliasSet
10 // This file implements the AliasSetTracker and AliasSet classes.
30 void AliasSet::mergeSetIn(AliasSet &AS, AliasSetTracker &AST) {
81 void AliasSetTracker::removeAliasSet(AliasSet *AS) {
82 if (AliasSet *Fwd = AS->Forward) {
89 void AliasSet::removeFromTracker(AliasSetTracker &AST) {
94 void AliasSet::addPointer(AliasSetTracker &AST, PointerRec &Entry,
125 void AliasSet::addUnknownInst(Instruction *I, AliasAnalysis &AA) {
142 bool AliasSet::aliasesPointer(const Value *Ptr, uint64_t Size,
178 bool AliasSet::aliasesUnknownInst(Instruction *Inst, AliasAnalysis &AA) const {
217 AliasSet *AliasSetTracker::findAliasSetForPointer(const Value *Ptr,
220 AliasSet *FoundSet = nullptr;
247 AliasSet *AliasSetTracker::findAliasSetForUnknownInst(Instruction *Inst) {
248 AliasSet *FoundSet = nullptr;
266 AliasSet &AliasSetTracker::getAliasSetForPointer(Value *Pointer, uint64_t Size,
269 AliasSet::PointerRec &Entry = getEntryFor(Pointer);
278 if (AliasSet *AS = findAliasSetForPointer(Pointer, Size, TBAAInfo)) {
286 AliasSets.push_back(new AliasSet());
293 addPointer(Ptr, Size, TBAAInfo, AliasSet::NoModRef, NewPtr);
300 AliasSet::AccessType ATy = AliasSet::Refs;
302 AliasSet &AS = addPointer(LI->getOperand(0),
312 AliasSet::AccessType ATy = AliasSet::Mods;
315 AliasSet &AS = addPointer(SI->getOperand(1),
327 AliasSet::ModRef, NewPtr);
338 AliasSet *AS = findAliasSetForUnknownInst(Inst);
343 AliasSets.push_back(new AliasSet());
375 AliasSet &AS = const_cast<AliasSet&>(*I);
383 for (AliasSet::iterator ASI = AS.begin(), E = AS.end(); ASI != E; ++ASI) {
384 AliasSet &NewAS = addPointer(ASI.getPointer(), ASI.getSize(),
386 (AliasSet::AccessType)AS.AccessTy, X);
394 void AliasSetTracker::remove(AliasSet &AS) {
401 AliasSet::PointerRec *P = AS.PtrList;
423 AliasSet *AS = findAliasSetForPointer(Ptr, Size, TBAAInfo);
432 AliasSet *AS = findAliasSetForPointer(LI->getOperand(0), Size, TBAAInfo);
441 AliasSet *AS = findAliasSetForPointer(SI->getOperand(1), Size, TBAAInfo);
448 AliasSet *AS = findAliasSetForPointer(VAAI->getOperand(0),
460 AliasSet *AS = findAliasSetForUnknownInst(I);
488 // AliasSet (if present).
505 AliasSet::PointerRec *PtrValEnt = I->second;
506 AliasSet *AS = PtrValEnt->getAliasSet(*this);
532 AliasSet::PointerRec &Entry = getEntryFor(To);
537 AliasSet *AS = I->second->getAliasSet(*this);
546 // AliasSet/AliasSetTracker Printing Support
549 void AliasSet::print(raw_ostream &OS) const {
550 OS << " AliasSet[" << (const void*)this << ", " << RefCount << "] ";
591 void AliasSet::dump() const { print(dbgs()); }