Lines Matching defs:AA
149 static MemoryLocation getLocForWrite(Instruction *Inst, AliasAnalysis &AA) {
481 AliasAnalysis &AA) {
488 if (AA.isNoAlias(InstReadLoc, InstStoreLoc)) return false;
500 if (DepReadLoc.Ptr && AA.isMustAlias(InstReadLoc.Ptr, DepReadLoc.Ptr))
515 AliasAnalysis *AA) {
550 auto Res = AA->getModRefInfo(I, MemLoc);
586 static bool handleFree(CallInst *F, AliasAnalysis *AA,
612 if (!AA->isMustAlias(F->getArgOperand(0), DepPointer))
641 const DataLayout &DL, AliasAnalysis *AA,
650 // extraneous AA queries.
660 return !AA->isNoAlias(StackLoc, LoadedLoc);
670 static bool handleEndBlock(BasicBlock &BB, AliasAnalysis *AA,
761 if (AA->doesNotAccessMemory(CS))
768 ModRefInfo A = AA->getModRefInfo(CS, I, getPointerSize(I, DL, *TLI));
811 removeAccessedObjects(LoadedLoc, DeadStackObjects, DL, AA, TLI);
823 AliasAnalysis *AA, MemoryDependenceResults *MD,
835 isRemovable(SI) && memoryIsNotModifiedBetween(DepLoad, SI, AA)) {
853 memoryIsNotModifiedBetween(UnderlyingPointer, SI, AA)) {
866 static bool eliminateDeadStores(BasicBlock &BB, AliasAnalysis *AA,
879 MadeChange |= handleFree(F, AA, MD, DT, TLI);
893 if (eliminateNoopStore(Inst, BBI, AA, MD, DL, TLI)) {
907 MemoryLocation Loc = getLocForWrite(Inst, *AA);
922 MemoryLocation DepLoc = getLocForWrite(DepWrite, *AA);
931 !isPossibleSelfRead(Inst, Loc, DepWrite, *TLI, *AA)) {
1007 if (AA->getModRefInfo(DepWrite, Loc) & MRI_Ref)
1018 MadeChange |= handleEndBlock(BB, AA, MD, TLI);
1023 static bool eliminateDeadStores(Function &F, AliasAnalysis *AA,
1031 MadeChange |= eliminateDeadStores(BB, AA, MD, DT, TLI);
1039 AliasAnalysis *AA = &AM.getResult<AAManager>(F);
1044 if (!eliminateDeadStores(F, AA, MD, DT, TLI))
1066 AliasAnalysis *AA = &getAnalysis<AAResultsWrapperPass>().getAAResults();
1072 return eliminateDeadStores(F, AA, MD, DT, TLI);