Lines Matching refs:AAQI
749 AAQueryInfo &AAQI, in getModRefInfoMask() argument
826 AAQueryInfo &AAQI) { in getMemoryEffects() argument
830 MemoryEffects FuncME = AAQI.AAR.getMemoryEffects(F); in getMemoryEffects()
896 const MemoryLocation &LocB, AAQueryInfo &AAQI, in alias() argument
900 return aliasCheck(LocA.Ptr, LocA.Size, LocB.Ptr, LocB.Size, AAQI, CtxI); in alias()
911 AAQueryInfo &AAQI) { in getModRefInfo() argument
940 AAQI.CI->isNotCapturedBefore(Object, Call, /*OrAt*/ false)) { in getModRefInfo()
960 AAQI.AAR.alias(MemoryLocation::getBeforeOrAfter(*CI), in getModRefInfo()
961 MemoryLocation::getBeforeOrAfter(Object), AAQI); in getModRefInfo()
997 if (AAQI.AAR.alias(MemoryLocation::getBeforeOrAfter(Call), Loc, AAQI) == in getModRefInfo()
1034 AAQueryInfo &AAQI) { in getModRefInfo() argument
1047 return isModSet(getMemoryEffects(Call2, AAQI).getModRef()) in getModRefInfo()
1052 return isModSet(getMemoryEffects(Call1, AAQI).getModRef()) in getModRefInfo()
1082 const Value *UnderlyingV1, const Value *UnderlyingV2, AAQueryInfo &AAQI) { in aliasGEP() argument
1092 AAQI.AAR.alias(MemoryLocation::getBeforeOrAfter(UnderlyingV1), in aliasGEP()
1093 MemoryLocation::getBeforeOrAfter(UnderlyingV2), AAQI); in aliasGEP()
1098 DominatorTree *DT = getDT(AAQI); in aliasGEP()
1108 subtractDecomposedGEPs(DecompGEP1, DecompGEP2, AAQI); in aliasGEP()
1132 return AAQI.AAR.alias(MemoryLocation(DecompGEP1.Base, V1Size), in aliasGEP()
1133 MemoryLocation(DecompGEP2.Base, V2Size), AAQI); in aliasGEP()
1137 AAQI.AAR.alias(MemoryLocation::getBeforeOrAfter(DecompGEP1.Base), in aliasGEP()
1138 MemoryLocation::getBeforeOrAfter(DecompGEP2.Base), AAQI); in aliasGEP()
1343 Var0.Val.hasSameCastsAs(Var1.Val) && !AAQI.MayBeCrossIteration && in aliasGEP()
1359 if (constantOffsetHeuristic(DecompGEP1, V1Size, V2Size, &AC, DT, AAQI)) in aliasGEP()
1385 AAQueryInfo &AAQI) { in aliasSelect() argument
1390 AAQI)) { in aliasSelect()
1392 AAQI.AAR.alias(MemoryLocation(SI->getTrueValue(), SISize), in aliasSelect()
1393 MemoryLocation(SI2->getTrueValue(), V2Size), AAQI); in aliasSelect()
1397 AAQI.AAR.alias(MemoryLocation(SI->getFalseValue(), SISize), in aliasSelect()
1398 MemoryLocation(SI2->getFalseValue(), V2Size), AAQI); in aliasSelect()
1404 AliasResult Alias = AAQI.AAR.alias(MemoryLocation(SI->getTrueValue(), SISize), in aliasSelect()
1405 MemoryLocation(V2, V2Size), AAQI); in aliasSelect()
1410 AAQI.AAR.alias(MemoryLocation(SI->getFalseValue(), SISize), in aliasSelect()
1411 MemoryLocation(V2, V2Size), AAQI); in aliasSelect()
1419 AAQueryInfo &AAQI) { in aliasPHI() argument
1429 AliasResult ThisAlias = AAQI.AAR.alias( in aliasPHI()
1433 AAQI); in aliasPHI()
1504 SaveAndRestore SavedMayBeCrossIteration(AAQI.MayBeCrossIteration, true); in aliasPHI()
1506 AliasResult Alias = AAQI.AAR.alias(MemoryLocation(V1Srcs[0], PNSize), in aliasPHI()
1507 MemoryLocation(V2, V2Size), AAQI); in aliasPHI()
1523 AliasResult ThisAlias = AAQI.AAR.alias( in aliasPHI()
1524 MemoryLocation(V, PNSize), MemoryLocation(V2, V2Size), AAQI); in aliasPHI()
1537 AAQueryInfo &AAQI, in aliasCheck() argument
1559 if (isValueEqualInPotentialCycles(V1, V2, AAQI)) in aliasCheck()
1598 if (isEscapeSource(O1) && AAQI.CI->isNotCapturedBefore( in aliasCheck()
1601 if (isEscapeSource(O2) && AAQI.CI->isNotCapturedBefore( in aliasCheck()
1633 DominatorTree *DT = getDT(AAQI); in aliasCheck()
1678 if (AAQI.Depth >= 512) in aliasCheck()
1685 AAQueryInfo::LocPair Locs({V1, V1Size, AAQI.MayBeCrossIteration}, in aliasCheck()
1686 {V2, V2Size, AAQI.MayBeCrossIteration}); in aliasCheck()
1690 const auto &Pair = AAQI.AliasCache.try_emplace( in aliasCheck()
1698 ++AAQI.NumAssumptionUses; in aliasCheck()
1708 int OrigNumAssumptionUses = AAQI.NumAssumptionUses; in aliasCheck()
1709 unsigned OrigNumAssumptionBasedResults = AAQI.AssumptionBasedResults.size(); in aliasCheck()
1711 aliasCheckRecursive(V1, V1Size, V2, V2Size, AAQI, O1, O2); in aliasCheck()
1713 auto It = AAQI.AliasCache.find(Locs); in aliasCheck()
1714 assert(It != AAQI.AliasCache.end() && "Must be in cache"); in aliasCheck()
1724 AAQI.NumAssumptionUses -= Entry.NumAssumptionUses; in aliasCheck()
1733 while (AAQI.AssumptionBasedResults.size() > OrigNumAssumptionBasedResults) in aliasCheck()
1734 AAQI.AliasCache.erase(AAQI.AssumptionBasedResults.pop_back_val()); in aliasCheck()
1738 if (OrigNumAssumptionUses != AAQI.NumAssumptionUses && in aliasCheck()
1740 AAQI.AssumptionBasedResults.push_back(Locs); in aliasCheck()
1748 if (AAQI.Depth == 1) { in aliasCheck()
1751 for (const auto &Loc : AAQI.AssumptionBasedResults) { in aliasCheck()
1752 auto It = AAQI.AliasCache.find(Loc); in aliasCheck()
1753 if (It != AAQI.AliasCache.end()) in aliasCheck()
1756 AAQI.AssumptionBasedResults.clear(); in aliasCheck()
1757 AAQI.NumAssumptionUses = 0; in aliasCheck()
1765 AAQueryInfo &AAQI, const Value *O1, const Value *O2) { in aliasCheckRecursive() argument
1767 AliasResult Result = aliasGEP(GV1, V1Size, V2, V2Size, O1, O2, AAQI); in aliasCheckRecursive()
1771 AliasResult Result = aliasGEP(GV2, V2Size, V1, V1Size, O2, O1, AAQI); in aliasCheckRecursive()
1778 AliasResult Result = aliasPHI(PN, V1Size, V2, V2Size, AAQI); in aliasCheckRecursive()
1782 AliasResult Result = aliasPHI(PN, V2Size, V1, V1Size, AAQI); in aliasCheckRecursive()
1789 AliasResult Result = aliasSelect(S1, V1Size, V2, V2Size, AAQI); in aliasCheckRecursive()
1793 AliasResult Result = aliasSelect(S2, V2Size, V1, V1Size, AAQI); in aliasCheckRecursive()
1820 const AAQueryInfo &AAQI) { in isValueEqualInPotentialCycles() argument
1824 if (!AAQI.MayBeCrossIteration) in isValueEqualInPotentialCycles()
1833 return isNotInCycle(Inst, getDT(AAQI), /*LI*/ nullptr); in isValueEqualInPotentialCycles()
1839 const AAQueryInfo &AAQI) { in subtractDecomposedGEPs() argument
1847 if ((!isValueEqualInPotentialCycles(Dest.Val.V, Src.Val.V, AAQI) && in subtractDecomposedGEPs()
1885 const AAQueryInfo &AAQI) { in constantOffsetHeuristic() argument
1909 !isValueEqualInPotentialCycles(E0.Val.V, E1.Val.V, AAQI)) in constantOffsetHeuristic()