Lines Matching defs:MSSA

98   const MemorySSA *MSSA;
101 MemorySSAAnnotatedWriter(const MemorySSA *M) : MSSA(M) {}
105 if (MemoryAccess *MA = MSSA->getMemoryAccess(BB))
111 if (MemoryAccess *MA = MSSA->getMemoryAccess(I))
119 MemorySSA *MSSA;
125 : MSSA(M), Walker(M->getWalker()), BAA(M->getAA()) {}
129 if (MemoryAccess *MA = MSSA->getMemoryAccess(BB))
135 if (MemoryAccess *MA = MSSA->getMemoryAccess(I)) {
140 if (MSSA->isLiveOnEntryDef(Clobber))
391 /// \param MSSA The MemorySSA instance that Start and ClobberAt belong to.
398 const MemoryLocation &StartLoc, const MemorySSA &MSSA,
401 assert(MSSA.dominates(ClobberAt, Start) && "Clobber doesn't dominate start?");
403 if (MSSA.isLiveOnEntryDef(Start)) {
404 assert(MSSA.isLiveOnEntryDef(ClobberAt) &&
430 FoundClobber = FoundClobber || MSSA.isLiveOnEntryDef(MD);
440 assert(!MSSA.isLiveOnEntryDef(MA) && "Hit liveOnEntry before clobber?");
464 MSSA.getDomTree()),
467 if (MSSA.getDomTree().isReachableFromEntry(ItB.getPhiArgBlock()))
513 const MemorySSA &MSSA;
531 MemoryAccess *Result = MSSA.getLiveOnEntryDef();
534 auto *Defs = MSSA.getBlockDefs(Node->getBlock());
575 if (MSSA.isLiveOnEntryDef(MD))
670 if (!MSSA.dominates(Res.Result, StopWhere))
688 assert(!MSSA.isLiveOnEntryDef(Res.Result) && "liveOnEntry is a clobber");
786 if (!MSSA.dominates(I->Clobber, Dom->Clobber))
795 assert(!MSSA.isLiveOnEntryDef(Current) &&
802 return MSSA.dominates(P.Clobber, Target);
915 return MSSA.dominates(P.Clobber, R.PrimaryClobber.Clobber);
925 ClobberWalker(const MemorySSA &MSSA, DominatorTree &DT)
926 : MSSA(MSSA), DT(DT) {}
962 checkClobberSanity(Current, Result, Q.StartingLoc, MSSA, Q, BAA);
990 MemorySSA *MSSA;
993 ClobberWalkerBase(MemorySSA *M, DominatorTree *D) : Walker(*M, *D), MSSA(M) {}
1306 OptimizeUses(MemorySSA *MSSA, CachingWalker *Walker, BatchAAResults *BAA,
1308 : MSSA(MSSA), Walker(Walker), AA(BAA), DT(DT) {}
1334 MemorySSA *MSSA;
1360 MemorySSA::AccessList *Accesses = MSSA->getWritableBlockAccesses(BB);
1495 VersionStack.push_back(MSSA->getLiveOnEntryDef());
2286 DOTFuncMSSAInfo(const Function &F, MemorySSA &MSSA)
2287 : F(F), MSSAWriter(&MSSA) {}
2323 return "MSSA CFG for '" + CFGInfo->getFunction()->getName().str() +
2384 auto &MSSA = AM.getResult<MemorySSAAnalysis>(F).getMSSA();
2386 MSSA.ensureOptimizedUses();
2388 DOTFuncMSSAInfo CFGInfo(F, MSSA);
2389 WriteGraph(&CFGInfo, "", false, "MSSA", DotCFGMSSA);
2392 MSSA.print(OS);
2400 auto &MSSA = AM.getResult<MemorySSAAnalysis>(F).getMSSA();
2402 MemorySSAWalkerAnnotatedWriter Writer(&MSSA);
2421 void MemorySSAWrapperPass::releaseMemory() { MSSA.reset(); }
2432 MSSA.reset(new MemorySSA(F, &AA, &DT));
2438 MSSA->verifyMemorySSA();
2442 MSSA->print(OS);
2445 MemorySSAWalker::MemorySSAWalker(MemorySSA *M) : MSSA(M) {}
2462 if (MSSA->isLiveOnEntryDef(StartingUseOrDef))
2539 *StartingAccess->getMemoryInst(), MSSA->getDomTree())) {
2542 auto *ClobberMA = MSSA->getMemoryAccess(I);
2571 MemoryAccess *LiveOnEntry = MSSA->getLiveOnEntryDef();
2583 if (MSSA->isLiveOnEntryDef(DefiningAccess)) {