Lines Matching defs:MSSA

319 static bool writtenBetween(MemorySSA *MSSA, BatchAAResults &AA,
339 MemoryAccess *Clobber = MSSA->getWalker()->getClobberingMemoryAccess(
341 return !MSSA->dominates(Clobber, Start);
372 cast_or_null<MemoryUseOrDef>(MSSA->getMemoryAccess(&*BI));
590 // Find MSSA insertion point. Normally P will always have a corresponding
592 // pipelines, there may be a mismatch between AA and MSSA, in which case we
595 // TODO: Simplify this once P will be determined by MSSA, in which case the
598 if (MemoryUseOrDef *MA = MSSA->getMemoryAccess(P)) {
604 if (MemoryUseOrDef *MA = MSSA->getMemoryAccess(&I)) {
616 if (MemoryUseOrDef *MA = MSSA->getMemoryAccess(I)) {
641 MemoryUseOrDef *LoadAccess = MSSA->getMemoryAccess(LI),
642 *StoreAccess = MSSA->getMemoryAccess(SI);
644 // We use MSSA to check if an instruction may store to the memory we load
647 auto *Clobber = MSSA->getWalker()->getClobberingMemoryAccess(
649 Instruction *P = MSSA->dominates(LoadAccess, Clobber)
682 auto *LastDef = cast<MemoryDef>(MSSA->getMemoryAccess(SI));
703 MSSA->getWalker()->getClobberingMemoryAccess(LI, BAA)))
810 auto *StoreDef = cast<MemoryDef>(MSSA->getMemoryAccess(SI));
902 if (accessedBetween(BAA, DestLoc, MSSA->getMemoryAccess(C),
903 MSSA->getMemoryAccess(cpyStore), &SkippedLifetimeStart)) {
1090 MSSAU->moveBefore(MSSA->getMemoryAccess(SkippedLifetimeStart),
1091 MSSA->getMemoryAccess(C));
1193 if (writtenBetween(MSSA, BAA, MCopyLoc, MSSA->getMemoryAccess(MDep),
1194 MSSA->getMemoryAccess(M)))
1245 assert(isa<MemoryDef>(MSSA->getMemoryAccess(M)));
1246 auto *LastDef = cast<MemoryDef>(MSSA->getMemoryAccess(M));
1300 MSSA->getMemoryAccess(MemSet),
1301 MSSA->getMemoryAccess(MemCpy)))
1356 assert(isa<MemoryDef>(MSSA->getMemoryAccess(MemCpy)) &&
1360 auto *LastDef = cast<MemoryDef>(MSSA->getMemoryAccess(MemCpy));
1371 static bool hasUndefContents(MemorySSA *MSSA, BatchAAResults &AA, Value *V,
1373 if (MSSA->isLiveOnEntryDef(Def))
1448 MemoryUseOrDef *MemSetAccess = MSSA->getMemoryAccess(MemSet);
1449 MemoryAccess *Clobber = MSSA->getWalker()->getClobberingMemoryAccess(
1452 if (hasUndefContents(MSSA, BAA, MemCpy->getSource(), MD, CopySize))
1465 auto *LastDef = cast<MemoryDef>(MSSA->getMemoryAccess(MemCpy));
1725 MemoryUseOrDef *MA = MSSA->getMemoryAccess(M);
1753 MSSA->getWalker()->getClobberingMemoryAccess(AnyClobber, DestLoc, BAA);
1765 MemoryAccess *SrcClobber = MSSA->getWalker()->getClobberingMemoryAccess(
1806 if (hasUndefContents(MSSA, BAA, M->getSource(), MD, M->getLength())) {
1842 MemoryUseOrDef *MemMoveAccess = MSSA->getMemoryAccess(M);
1871 MSSA->getWalker()->getClobberingMemoryAccess(FirstDef, CombinedLoc, BAA));
1932 MemoryUseOrDef *CallAccess = MSSA->getMemoryAccess(&CB);
1937 MemoryAccess *Clobber = MSSA->getWalker()->getClobberingMemoryAccess(
1979 if (writtenBetween(MSSA, BAA, MemoryLocation::getForSource(MDep),
1980 MSSA->getMemoryAccess(MDep), CallAccess))
2005 /// (if MSSA clobber check is safe.)
2039 MemoryUseOrDef *CallAccess = MSSA->getMemoryAccess(&CB);
2044 MemoryAccess *Clobber = MSSA->getWalker()->getClobberingMemoryAccess(
2079 if (writtenBetween(MSSA, BAA, MemoryLocation::getForSource(MDep),
2080 MSSA->getMemoryAccess(MDep), CallAccess))
2152 auto *MSSA = &AM.getResult<MemorySSAAnalysis>(F);
2154 bool MadeChange = runImpl(F, &TLI, AA, AC, DT, PDT, &MSSA->getMSSA());
2174 MSSA = MSSA_;